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

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

Зарезервированные слова
Ниже приводится список зарезервированных слов. Ваше устройство возненавидит вас, если вы попытаетесь их использовать. Не используйте их для своих переменных, let или const. Если да, то было приятно узнать вас.
абстрактное логическое значение break byte case catch char class const continue debugger default delete do double else enum export extends false final finally float для функции goto если реализует импорт в instanceof int интерфейс long native new null package-private, protected public return short static super switch synchronized this throws transient true try typeof var volatile void while with

typeof
В общих чертах он сообщает вам, что это такое. Существует шесть типов данных: логический, нулевой, неопределенный, числовой, строковый, символ.

parseInt
Преобразует строку в целое число, которое останавливается, когда видит не цифру. Если первая цифра равна 0, строка оценивается по основанию 8 вместо 10. Всегда используйте параметр radix.
parseInt («10», 8); // возвращает 8
parseInt («0x10»); // возвращает 16
parseInt («1», 82); // возвращает NaN

  • Если вы используете оператор +, то предполагайте следующее. Если все элементы - числа, вы получите номер. Если все они являются строками или смесью строк и чисел, все они будут объединены.

Плавающая точка
в JavaScript 0,1 + 0,2 = 0,30000000000000004. Разум взорван.

NaN
Это не число.
typeof NaN === ‘number’; // шокирующе это число
functionisNumber (value) {
return typeof value === ‘number’ && isFinite (value);
}
// лучший способ узнать, можно ли использовать значение как число

Always Falsy
- false
- 0
- пустая строка ««, »,`
- null
- undefined
- NaN

Всегда правдиво
- ‘0’
- ‘false’
- []
- {}
- function () {}

hasOwnProperty
Проверяет, есть ли у объекта свойство с запрошенным именем.

Object
Объекты JavaScript никогда не бывают по-настоящему пустыми, потому что они могут подбирать элементы цепочки прототипов.

==
== и! = ЗЛО. Используйте === и! ==, когда нужно использовать операторы равенства.

с
Никогда не используйте его. Попробуйте вместо этого использовать операторы if.

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

continue
Не используйте continue и сразу переходите к следующему запросу в этом списке.

switch
Если вы обнаружите, что создаете очень длинный оператор if, переключите его на оператор switch.
switch (выражение) {
case a:
// выполнение блока кода case a
break;
case b:
// выполнение блока кода case b
break;
case c:
/ / выполнить блок кода case c
break;
default:
// выполнить блок кода по умолчанию
}
Он будет проходить каждый случай. Если ничего не подходит, то выигрывает вариант по умолчанию. Думайте об этом как о последнем заявлении else.

  • + и -
    Использование ++ и - имеет тенденцию быть слишком сложным, трудным и загадочным. Это приведет к более чистому стилю кодирования. Вместо этого используйте i + = 1 или i - = 1 для увеличения.

побитовые
Эти операторы работают медленно. JavaScript редко используется для обработки битов. Делайте это только в крайнем случае.

Оператор функции и выражение функции
Оператор
function foobar () {}
Выражение
var foobar = function foobar () {};
Используйте функциональное выражение. Это дает понять, что foobar - это переменная, содержащая значение функции. В противном случае вы столкнетесь с подъемной ситуацией.

новое
Новое раньше было неправильным. Раньше был забанен. Это был конопля JavaScript. Теперь это разрешено в определенных ситуациях. Он создает экземпляр встроенного типа объекта, который находится в экосистеме javascript или пользовательского типа объекта.

void
Только не пользуйся. Действительно. Шутки в сторону. Не надо. Это хуже, чем измена жене.

for in
Произнесите это вслух. For .. In… Тело каждого оператора for in должно быть заключено в оператор if, выполняющий фильтрацию. Это предотвращает обслуживание функций метода, когда интерес проявляется в элементах данных.

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

var
Постарайтесь больше не использовать это. По возможности используйте Let. Это то, чем сейчас занимаются крутые ребята.

let
Это похоже на var, но его область применения ограничена. Var определяет их глобально или локально для всей функции. У вас будет меньше проблем, если вы воспользуетесь let.