Считаете себя гуру JS'а? Попробуйте предсказать результаты следующих операций:
Сомневаетесь? Тогда именно для вас Брайан Леру (Brian Leroux) создал WTFJS — сайт, содержащий коллекцию странностей JS. «JavaScript — это язык, который мы любим несмотря на все его ненавистные особенности».
Для нетерпеливых ответы под катом.
Надеюсь, кого-то это повеселит, а кому-то (ну вдруг) поможет.
Number.MIN_VALUE > 0; // true or false?
typeof null; // what type?
null === Object; // true or false?
// и самый сок
NaN === NaN; // true or false?
typeof NaN; // what type?
* This source code was highlighted with Source Code Highlighter.
Сомневаетесь? Тогда именно для вас Брайан Леру (Brian Leroux) создал WTFJS — сайт, содержащий коллекцию странностей JS. «JavaScript — это язык, который мы любим несмотря на все его ненавистные особенности».
Для нетерпеливых ответы под катом.
Number.MIN_VALUE > 0; // true
/*
Дело в том, что MIN_VALUE это наименьшее число, БОЛЬШЕ НУЛЯ
*/
typeof null; // object
null === Object; // false
/*
null, хоть и имеет тип "object", не является Object'ом
*/
NaN === NaN; // false
/*
Впечатляет, да? Я не могу найти этому объяснения. Автор же просто предполагает, что некоторые люди любят иногда понюхать клей...
*/
typeof NaN; // number
/*
Вот это сильно. Если вдруг кто не помнит, NaN — not a number.
*/
* This source code was highlighted with Source Code Highlighter.
Надеюсь, кого-то это повеселит, а кому-то (ну вдруг) поможет.