Рубрики
Без рубрики

Давайте поговорим о точках в JavaScript

Чтобы использовать их или не использовать их … запятыми в JavaScript разделите сообщество. Некоторые предпочитают использовать их всегда, независимо от того, что. Другие любят избегать их. Я избираю опрос в Twitter для тестирования воды, и я нашел много сторонников полукол: После использования запятой для

Использовать их или не использовать их …

Запястья в JavaScript разделите сообщество. Некоторые предпочитают использовать их всегда, независимо от того, что. Другие любят избегать их.

Я избираю опрос в Twitter для тестирования воды, и я нашел много сторонников полукол:

После использования запятых в течение многих лет, осенью 2017 года я решил попытаться избежать их, когда смогу. Я настроил Красивее Для автоматического удаления запятой из моего кода, если не было конкретной конструкции кода, которая требует их.

Теперь я нахожу естественным, чтобы избежать точков, и я думаю, что код выглядит лучше и является чище читающим.

Это все возможно, потому что JavaScript не строго требует запятых. Когда есть место, где требуется точка запятой, он добавляет его за кулисами.

Это называется Автоматическая запястья вставки Отказ

Важно знать правила, которые властные запятые. Это позволит вам избежать записи кода, который будет генерировать ошибки, прежде чем она не ведет себя так, как вы ожидаете.

Правила JavaScript Автоматическая запястья вставки

Парсер JavaScript автоматически добавляет точку запятой, когда во время анализа исходного кода он находит эти конкретные ситуации:

  1. Когда следующая строка начинается с кода, который нарушает текущий (код может появиться на нескольких строках)
  2. Когда следующая строка начинается с } Закрытие текущего блока
  3. Когда достигнут конец файла исходного кода
  4. Когда есть вернуть Заявление о своей линии
  5. Когда есть Перерыв Заявление о своей линии
  6. Когда есть бросить Заявление о своей линии
  7. Когда есть Продолжить Заявление о своей линии

Примеры кода, который не делает то, что думаешь

Основываясь на этих правилах, вот несколько примеров.

Возьми это:

const hey = 'hey'const you = 'hey'const heyYou = hey + ' ' + you['h', 'e', 'y'].forEach((letter) => console.log(letter))

Вы получите ошибку Uncaught IseError: не может прочитать свойство «Foreach» undefined Потому что на основе правила 1 JavaScript пытается интерпретировать код как

const hey = 'hey';const you = 'hey';const heyYou = hey + ' ' + you['h', 'e', 'y'].forEach((letter) => console.log(letter))

Этот кусок кода:

(1 + 2).toString()

Отпечатки "3" Отказ

const a = 1const b = 2const c = a + b(a + b).toString()

Вместо этого поднимает Типерре: B не функция Исключение, потому что JavaScript пытается интерпретировать его как

const a = 1 const b = 2 const c = a + b(a + b).toString()

Еще один пример на основе правила 4:

(() => {  return  {    color: 'white'  }})()

Вы ожидаете, что возвращаемая стоимость этой немедленно вызываемой функции является объектом, который содержит цвет Собственность, но это не так. Вместо этого это undefined , потому что JavaScript вставляет точку запятой после вернуть Отказ

Вместо этого вы должны поставить открывающуюся кронштейн сразу после вернуть :

(() => {  return {    color: 'white'  }})()

Вы бы подумали, что этот код показывает «0» в оповещении:

1 + 1 -1 + 1 === 0 ? alert(0) : alert(2)

Но он показывает 2 вместо этого, потому что JavaScript (за правило 1) интерпретирует его как:

1 + 1 -1 + 1 === 0 ? alert(0) : alert(2)

Заключение

Будьте осторожны – некоторые люди очень мнения о точках. Мне все равно, честно. Инструмент дает нам возможность не использовать его, поэтому мы можем избежать полуконов, если мы хотим.

Я не предлагаю ничего с одной стороны или другой. Просто сделайте свое собственное решение на основе того, что работает для вас.

Независимо от того, нам просто нужно заплатить немного внимания, даже если большую часть времени эти основные сценарии никогда не появляются в вашем коде.

Выберите некоторые правила:

  • Будьте осторожны с вернуть заявления. Если вы что-то вернетесь, добавьте его на ту же строку, что и возврат (то же самое для Break , Бросок , Продолжить )
  • Никогда не запускайте строку с круглыми скобками, так как они могут быть объединены с предыдущей строкой, чтобы сформировать вызов функции или Ссылка на элемент массива

И в конечном итоге всегда проверяйте свой код, чтобы убедиться, что он делает то, что вы хотите.

Первоначально опубликовано flaviocopes.com .

Оригинал: “https://www.freecodecamp.org/news/lets-talk-about-semicolons-in-javascript-f1fe08ab4e53/”