проверка, определен ли объект
Это работает в AS2 и AS3 и является наиболее надежным способом проверки, имеет ли объект значение.
if (obj != null) {
doSomethingWith(obj);
}
Это также самый надежный способ проверить свойство объекта и прочитать его в том же выражении:
if (arr[0] != null && arr[0]>5) {
doSomethingWith(arr[0]);
}
проверка, является ли объект нулевым
Есть разница между нулевым и неопределенным, но если вам все равно, вы можете просто сделать нормальное сравнение между любым из них, потому что они сравниваются равными:
if (obj == null) {
doSomethingWith(obj);
}
совпадает с
if (obj == undefined) {
doSomethingWith(obj);
}
Если вас волнует разница, используйте оператор === или! ==, который не преобразует их.
if (obj === undefined) {
// obj was never assigned a value
}
else if (obj === null) {
// obj was explicitly set to null
}
else {
doSomethingWith(obj);
}