Показать полную графическую версию : [решено] Javascript - Оператор ===
hasherfrog
25-07-2007, 09:21
В скриптах к форуму обнаружил такой оператор, === (sic!)
Например:
if (selection === false)
{
selection = '';
}
else
{
selection = new String(selection);
}
Что это такое? 8-|
Цитирую из учебника по ActionScript (у них с JavaScript'ом одни корни, т.ч. всё нормально):
Оператор строгого равенства. Формат использования:
<Аргумент 1> === <Аргумент 2>
Аналогичен оператору равенства ==, но, в отличие от него, не выполняет преобразование типов, т.е. возвращается true, если оба аргумента одинаковых типов равны друг другу, и false в противном случае.
А вот что такое "sic!"?
if (selection === false) >>>
т.е. если selection = 0
if (selection === false) = false
selection = ""
if (selection === false) = false
selection = false
if (selection === false) = true
Используется в основном для функций, которые могу возвращать и 0 и false.
hasherfrog
25-07-2007, 13:38
XCodeR, а если selection=nil? (в смысле, NULL на С)
selection === false даст false, правильно я понял?
Coutty, (sic!) - это типа "я именно так и хотел написать, это не ошибка в написании"ю
На вики есть описание полное, только оно запутанное :-) какое-то
а если selection=nil? >>>
Так сравнение не только по значению, но и по типу.
Если selection === nil и selection = nil, то true. Иначе false.
Для любых несовпадающих типов false.
По сику ясно )
hasherfrog
25-07-2007, 14:05
Всё, "втыкнул" :]
Спасибо
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.