вторник, 18 июня 2013 г.

JavaScript Хитрости со строками и массивами

alert([typeof 'hi' === 'string', typeof new String('hi') === 'string']); // true, false

В первом случае тип строки 'hi' - это строка 'string', который в результате равен строке 'string', поэтому значение этого выражения равно true.

Во втором случае typeof new String('hi') - это результат выполнения функции, но поскольку стоит ключевое слово new, то будет создан object (а не строка), который функция возвращает, поэтому поскольку объект не равен строке 'string', то значение выражения будет false.
Тут надо быть внимательней.

Поэтому alert([true, false]) выводит на экран значение массива true, false.

Комментариев нет:

Отправить комментарий