Глава 1 - «Проблемы с JavaScript»

« Повторное открытие JavaScript Master ES6, ES7 и ES8 ' написано Венкатом Субраманиамом и опубликовано Pragmatic Bookshelf

Это краткое содержание главы 1: «Проблемы с JavaScript»

Общие баллы:

  1. Будьте осторожны с переносом строки
  2. Используйте строгое равенство ===
  3. Объявить перед использованием / присвоением значений переменной
  4. Используйте strict mode
  5. Код линта

Разрывы строк и автоматическая вставка точки с запятой

У JavaScript есть некоторые «подводные камни», которые когда-то были с языком. Хотя эти «подводные камни» случаются, часто даже опытный разработчик попадает в ловушку.

Отсутствие точки с запятой не связано с тем, что точка с запятой является необязательной для языка, а определяется в спецификации ECMAScript automatic semicolon insertion rules.

Разрывы строк допустимы, и во время синтаксического анализа движок проверяет, действительно ли следующий токен существует после разрыва строки. Кроме того, после разрыва строки ключевые слова будут иметь точку с запятой «автоматически».

  • возвращение
  • ломать
  • Продолжать
  • бросать
  • урожай

Об этом необходимо помнить во избежание побочных эффектов.

Тип принуждение, == и ===

Использование нестрогого равенства приведения типов - еще одна область, в которой разработчики часто сталкиваются с нежелательными побочными эффектами.

Строгое равенство больше подходит для общих случаев использования.

Если намерение состоит в том, чтобы проверить случай, когда variable эквивалентно «не имеющему значения» (в широком смысле используется здесь), тогда

variable == null

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

let cat;                       \\ cat is undefined
let dog = null;                \\ dog is `null`
console.log(cat == dog);       \\ true
console.log(cat == null);      \\ true
console.log(cat == undefined); \\ true
if(!cat){
    console.log('there is no cat!'); // 'there is no cat!'
}

Объявите вещь, затем используйте вещь

Переменные области видимости локально с помощью let и const, иначе переменная будет поднята в область global.

«Использовать строгое»; чтобы спасти положение…?

От всех вышеперечисленных ошибок можно защитить директиву 'use strict';.

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

Директива'use strict'; может быть размещена в верхней части файла JavaScript или внутри функциональных блоков.

Объявление в верхней части файла выражает желание применить «строгий режим» ко всему файлу, тогда как объявление внутри функций будет применять «строгий режим» к этим соответствующим областям.

Linting, чтобы очистить вещи

В дополнение к «строгому режиму», использование линтера кода и стандарта добавит дополнительный уровень проверок, чтобы гарантировать соблюдение определенных и желаемых стандартов.

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

Это часть серии обзоров книг, которые я сейчас читаю.
По мере завершения глав я суммирую свои заметки и загружаю их на GitHub и Medium.

Следуйте за мной в Twitter: @mannyluvstacos