Глава 1 - «Проблемы с JavaScript»
« Повторное открытие JavaScript Master ES6, ES7 и ES8 ' написано Венкатом Субраманиамом и опубликовано Pragmatic Bookshelf
Это краткое содержание главы 1: «Проблемы с JavaScript»
Общие баллы:
- Будьте осторожны с переносом строки
- Используйте строгое равенство
===
- Объявить перед использованием / присвоением значений переменной
- Используйте
strict mode
- Код линта
Разрывы строк и автоматическая вставка точки с запятой
У JavaScript есть некоторые «подводные камни», которые когда-то были с языком. Хотя эти «подводные камни» случаются, часто даже опытный разработчик попадает в ловушку.
Отсутствие точки с запятой не связано с тем, что точка с запятой является необязательной для языка, а определяется в спецификации ECMAScript automatic semicolon insertion
rules.
Разрывы строк допустимы, и во время синтаксического анализа движок проверяет, действительно ли следующий токен существует после разрыва строки. Кроме того, после разрыва строки ключевые слова будут иметь точку с запятой «автоматически».
- возвращение
- ломать
- Продолжать
- бросать
- урожай
Об этом необходимо помнить во избежание побочных эффектов.
Тип принуждение, ==
и ===
Использование нестрогого равенства приведения типов - еще одна область, в которой разработчики часто сталкиваются с нежелательными побочными эффектами.
Строгое равенство больше подходит для общих случаев использования.
Если намерение состоит в том, чтобы проверить случай, когда variable
эквивалентно «не имеющему значения» (в широком смысле используется здесь), тогда
variable == null
может быть желательным вариантом, но это также может быть выполнено при строгом равенстве или с использованием falsy
ness переменной, если намерение состоит в том, чтобы принять меры при наличии или отсутствии таковой.
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';
.
Использование включает «строгий режим», который отмечает выполнение, чтобы выбрать определенные проверки соблюдения определенных правил, в дополнение к throw
ing при замалчивании ошибок в противном случае.
Директива'use strict';
может быть размещена в верхней части файла JavaScript или внутри функциональных блоков.
Объявление в верхней части файла выражает желание применить «строгий режим» ко всему файлу, тогда как объявление внутри функций будет применять «строгий режим» к этим соответствующим областям.
Linting, чтобы очистить вещи
В дополнение к «строгому режиму», использование линтера кода и стандарта добавит дополнительный уровень проверок, чтобы гарантировать соблюдение определенных и желаемых стандартов.
Линтеры в некоторой степени гарантируют, что код, созданный несколькими людьми и группами, будет следовать общепризнанному шаблону в дополнение к добавлению уровня проверок на наличие ошибок.
Это часть серии обзоров книг, которые я сейчас читаю.
По мере завершения глав я суммирую свои заметки и загружаю их на GitHub и Medium.
Следуйте за мной в Twitter: @mannyluvstacos