Мне было интересно, можно ли предположить, что в JavaScript переменная всегда будет иметь свойство «конструктор», если ее значение не «null» или «undefined».Безопасно ли в Javascript предположить существование свойства «constructor» для переменных со значениями, отличными от «null» или «undefined»?
я столкнулся с ситуацией, когда я должен был проверить, если переменная определена, и что, если это массив, и если да проверить, если его длина> 0:
if(variable && variable.constructor === Array && variable.length > 0) {
...loop through the array
}
Правильно ли я предположить, что переменная будет всегда имеет конструктор, если он не «неопределен» или «нуль»?
no, Массивы из других контекстов (read: tabs/frames) НЕ будут иметь конструктор === 'window.Array'. – dandavis
@ dandavis: Хорошая точка! Если есть какие-то вещи в кросс-окнах, вы не можете доверять этому ... –
@ dandavis: спасибо за этот полезный совет! – codeAscetic