Откройте для себя непонятный, трудный для понимания метод преобразования типов

В JavaScript вы иногда можете «смешивать» определенные свойства языка, чтобы создать что-то новое. Это происходит при последовательном использовании двух операторов ! (логическое «не»). Или, проще говоря, использовать что-то под названием «двойная челка».

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

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

Логический оператор «не»

В JavaScript с каждым значением связано логическое значение, которое может быть либо true, либо false. Например, непустая строка, такая как «hello», будет иметь связанное логическое значение true. В то время как fornull или undefined это будет ложным.

Значения, связанные с логическим значением true, называются истинными. В противном случае те, которые будут ассоциироваться с false, очевидно, будут названы ложными.





Логический оператор «not» действует в этом контексте истинных или ложных значений.

Всякий раз, когда он помещается перед логическим значением, он логически инвертирует (или «инвертирует») его значение. Вот пример:

Лучше всего то, что такой оператор также будет работать со значениями, которые не являются явно логическими, такими как true или false. Как? Просто проверив, являются ли они правдивыми или ложными, а затем преобразовав значение, начиная с этой точки.

Непустая строка, например «Hello», правдива. После применения оператора «not» окончательный результат приводит к значению false. То же самое происходит с 0, которое является ложным значением, которое затем оценивается как true.



Преобразуйте логическое «не» в «двойной взрыв»

Теперь, когда вы понимаете, что делает логический оператор «НЕ», у вас есть инструменты, позволяющие легко понять использование «двойной челки». Напомним, что делает логический оператор «не»:

  • Находит логическое значение, связанное с сущностью
  • Возвращает это значение «обратное» или «инвертированное», чтобы быть более конкретным.

Использование «двойной челки» просто добавляет к списку третий шаг. Это просто «возвращение снова» некоторой ценности. Например:

В этом случае из первой строчки можно понять, что происходит за кадром:

  • Начальное истинное значение преобразуется в ложь («одиночный удар»).
  • Результирующее значение снова инвертируется, снова возвращая true.

Итак, использование «двойной челки» - это способ найти противоположность значению, а затем снова найти противоположность этому результату.

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

Заключение

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

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

Выводы

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

Ресурсы