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

Типы данных примитивов

  • Нить
  • Число
  • Логический
  • Нулевой
  • Неопределенный
  • Символ (новое в es6)

== VS ===

В JavaScript есть два типа операторов равенства, каждый из которых имеет цель, и каждый имеет неравенство, строгое равенство и нормальное равенство.

Строгий: (===)

Этот тип считает равными только значения одного типа.

  • undefined === undefined
  • ноль === нуль
  • логическое === логическое
  • строка === строка
  • все остальное: не совсем равное
  • объекты ... скажем, в этом случае вам нужно использовать свой собственный алгоритм сравнения, потому что если вы сравните два объекта, он будет ложным
var first_object = {}, second_object = {};
first_object === second_object
=> false
first_object === first_object
=> true
second_object === second_object
=> true

Нормальный: (==)

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

Для меня этот способ немного запутан, потому что сбивает с толку способ преобразования значений

  • Например, null и undefined считаются равными
null == undefined
=> true
  • Строка и число, строка конвертируется в число
‘5355’ == 5355
=> true

Совет

Всегда старайтесь использовать строгое равенство и, насколько вам нравится, использовать нормальное равенство, старайтесь избегать

Сфера

Для написания хорошего кода вам необходимо понимать, что область видимости - это текущий контекст кода.

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

function bla () {
 var my_variable;
}

Здесь непосредственной областью действия my_variable является функция bla ().

Затенение: если область видимости объявляет переменную, имя которой совпадает с именем одной из окружающих его областей, изменения внутренней переменной не влияют на внешнюю переменную, которая снова становится доступной после выхода из внутренней области:

var my_variable= ‘global’;
function bla() {
 var my_variable = ‘local’;
 console.log(my_variable); // => local
}
console.log(global_variable); // => global
bla();
// => local
console.log(global_variable); // => global

внутри функции bla () глобальная my_variable заменяется локальной my_variable.

Переменные

Сделайте это просто, var, let и const - это всего лишь способ, которым вам может быть присвоена переменная, но ...

Const: означает, что значение нельзя переназначить (мне это нравится, потому что мой код должен быть чистым).

Разрешить: значение переменной можно переназначить, этот вид доступен только в блоке, в котором оно определено.

Var: это старый способ объявления обычных глобальных и локальных переменных, но некоторые идентификаторы являются зарезервированными словами, следующие не могут использоваться для имени переменной ...

// => Do not use it as a variable name
arguments, break, case, catch, class, const, continue, debugger, default, delete, do, else, enum, export, extend, false, finally, for, function, if, implements, import, in, instanceof, interface, let, new, null, package, private, protected, public, return, static, super, switch, this, throw, true, try, typeof, var, void, while

Большое спасибо за уделенное время. И, до следующего раза, хорошего дня!

Вам понравилось это? Хлопайте по нему слева, чтобы другие тоже могли его обнаружить, или подписывайтесь на меня, если вас интересуют другие главы, подобные этой.