undefined vs 'undefined'
Раньше всегда проверял на неопределенность так: x === 'undefined'
Сейчас обнаружил, что существует два вида undefined. Допустим, i элемент массива не определен. Тогда typeof arr[i] === undefined, typeof arr[i] === 'undefined', arr[i] === undefined, arr[i] === 'undefined' Выдаст: false, true, true, false. И в консоли слово undefined будет в одном случае строкой, а в другом спец. понятием серого цвета. Что за дела? |
Shitbox2,
и что не так? typeof возвращает строку? в остальных случаях используется константа. я обычно делаю так, для проверки на undefined var undef; // для лучше сжатия. var arr = [1,2 ,0]; if(arr[2] == undef) |
|
А что быстрее работает typeof или проверка конкретного значения на неопределенность?
|
Цитата:
Я думаю что строки сравниваются дольше конечно же. |
Хорошая идея! Совсем забыл про этот сайт
typeof x === 'undefined' — 100% typeof x === typeof void(0) — 100% typeof x === typeof void 0 — 90% typeof x === typeof undefined — 90% x === undefined — 90% angular.isUndefined(x) — 50% |
А ссылку?
|
Эм... Так это на основании нескольких уже существующих тестов
|
Часовой пояс GMT +3, время: 11:45. |