#javascript #extendscript #ecmascript-3
Вопрос:
Используя движок ES3 (Adobe Illustrator CS6), я только что столкнулся с неожиданной проблемой, связанной с тем, что «null», по-видимому, вычисляется, когда это второй операнд AND или OR. Все приведенные ниже выражения должны возвращать «null» (но вместо этого возвращают комментарии).
alert( true amp;amp; null ); // true
alert( 1 amp;amp; null ); // undefined
alert( "1" amp;amp; null ); // undefined
alert( false || null ); // false
alert( 0 || null ); // undefined
alert( "" || null ); // undefined
Насколько я могу судить, это не ожидаемое поведение даже в ES3. «null», по-видимому, оценивается как ожидаемое, когда это первый операнд. Быстрый поиск в Google мало что дал.
Можно ли как-нибудь это объяснить?
Заранее спасибо.