Я собираюсь проанализировать несколько интернет-мем, которые высмеивают JavaScript. Это хорошая возможность объяснить каждому из них, и полученные результаты не являются языковыми ошибками, но позади него очень специфические и серьезные объяснения.
Важно изучить первую концепцию под названием «Тип принуждения», – это преобразование Типы данных в разных ситуациях. Продолжить чтение по этой ссылке: https://2ality.com/2019/10/type-coercion.html#what-is-type -Coercion%3f.
Спасибо за js – meme
Здесь есть много концепции для изучения.
1) Тип
Правда, в JS NAN является числом и не может сравниться с любым другим NAN. Некоторые чтение: https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Objetos_globales/NaN Пример: – ложный
2) 9999999999999999 -> 10000000000000000
JavaScript не имеет целых чисел, только 64-разрядных поплавков – и вы выбежали из точности с плавающей точкой, представленной с постоянным числом. Max_safe_integer constance.
3) .6 – правда
Классическая операция, 0,5 + 0,1 реализована, и результат составляет 0,6, и значение равно, так что верно.
4) .3 – ложь
- 0.1+0.2.30000000000000004
- 0.30000000000000000004.6 – ЛОЖЬ
5) math.max () = – бесконечность
Результатом является «-Infinity», если аргументы не передаются, и результат является NAN, если хотя бы один из аргументов не может быть преобразован в число.
6)
Самый маленький из данных чисел. Если какой-либо один или несколько параметров не могут быть преобразованы в число, NAN возвращается. Результатом является бесконечность, если параметры никаких параметров.
7)
Это происходит, потому что пустой массив избита на «« Так »« + »« »равен« ».
8)
[] Находится слева, так как строкается.
- []+{}
- “”+{}
- “[Объект Object]””
9)
{} Слева, поэтому пустая структура избита на номер.
- {} отказывается до 0.
- [] издан до 0.
- 0+0.
10) Правда + True + True – True
ИСТИНА ДЛЯ 1, когда используется с оператором +, поэтому преобразуется в 1 + 1 + 1.
11)
ИСТИНА ДЛЯ 1 для оператора минус, поэтому преобразуется в 1-1.
12) – истинный
1 избита до логика, так.
13) – ложный
Это потому, что они не делают преобразование, чтобы логический и номер не разные типы данных.
14)
Некоторые вещи для анализа.
- []+[]=””.
- ![].
- (! + []): правда, ([] +! []): «Ложь» как строка.
- «TrueFalse» два ряда объединены.
- ” TrueFalse ». Длина
15) 9+”1″
«91» девять избиты на строку, так как строка + строка.
15)
1 избран из строки к номеру для использования оператора минус “-” ..
16) – истинный
Массив к номеру преобразования, номер ([]) равно 0, так.
Fav Language JS – MEME
Классический мем, здесь есть одна концепция.
1)
Согласие между строкой и числом то, в последний раз литая строка, легко.
2)
Хорошо, в этом случае есть строка и номер с оператором минус, строка издана в число, а затем нормальная арифметическая операция между двумя числами.
- “11” – 1
- 11 – 1
- 10
Патриция – мем
Я проанализирую этот мем, имеет 3 балла.
1) 0 – истинный
Преобразует значения переменной к одному и тому же типу перед выполнением сравнения, по этой причине «0» отливается от строки на номер, а позже сравнить 0, одинаково.
2) 0 == [] – истинный
Хахаха это очень странно, но объяснение следующее:
- Левый операнд номер.
- Правый операнд предоставляется на массив на номер.
- Номер ([]), false ricked на номер.
- Номер (false).
- 0 верно.
3) Здесь они предполагают, что между 1 и 2 возможна транзитивность.
Логика, если 0 и 0 ==. [] Тогда «0» = [] Проблема в том, что «0» – это литая строка, когда сравнивается, По этой причине транзитивное свойство не может быть применена здесь.
4) “0” == [] – ложный
Правильно, потому что [] отлиты от строки, поэтому «0» является ложным.
Разум взрыв JS – мем
Я проанализирую этот мем, имеет 4 очка.
1)
Очень нормальная арифметическая операция, ничего странного.
2)
Строковое конкатенация происходит, когда «+» используется со строкой + строкой.
3)
Другая арифметическая операция, в этом случае все число используются.
- (2+2)-2
- 4-2
- 2
4)
Мы смешиваем Строка Concatenation и Тип принуждения Отказ
- “2” + “2” = “22 строковые конкатенации
- “22”-“2”
- Тип принуждения к INT, вызванный минусным оператором.
- «22» – «2», отливьте «струнную строку» на «int-int».
- 22 –
Оригинал: “https://dev.to/damxipo/javascript-versus-memes-explaining-various-funny-memes-2o8c”