Ссылка на переменную, значение которой равно undefined
, не выдаст никакой ошибки.Вы получаете ReferenceError
для ссылки на переменную, которая не определена :
> i
Uncaught ReferenceError: i is not defined
Если вы передаете неопределенную переменную в функцию, выдается ReferenceError
и функцияне будет выполнен
> _.isUndefined(i)
Uncaught ReferenceError: i is not defined
typeof
оператор должен использоваться для безопасной проверки, определена ли переменная:
> typeof i
'undefined'
В вашем коде определено i
(это аргумент функции), поэтому, ссылаясь на него, вы не получите ReferenceError
.Код будет выдавать TypeError
, если определено i
, имеет undefined
значение , и вы рассматриваете его как объект:
> var i = undefined; i.id
Uncaught TypeError: Cannot read property 'id' of undefined