Операторы JavaScript
Основные операторы JavaScript позволяют Вам манипулировать значениями.
// Конкатенация
var foo = "hello";
var bar = "world";
console.log( foo + " " + bar ); // "привет мир"
// Умножение и деление
2 * 3;
2 / 3;
// Увеличение и уменьшение
// Оператор пред-увеличения увеличивает
// операнд перед дальнейшей обработкой.
var i = 1;
console.log( ++i ); // 2 - поскольку i было увеличено
// перед определением значения
console.log( i ); // 2
// Оператор пост-увеличения увеличивает
// операнд после его обработки.
var i = 1;
console.log( i++ ); // 1 - поскольку i было определено
// как 1 и _затем_ увеличено
console.log( i ); // 2 - увеличено после его использования
Операции с Числами & Строками
В JavaScript числа и строки будут вести себя случайно непредвиденным способом.
// Сложение по сравнению с Конкатенацией
var foo = 1;
var bar = "2";
console.log( foo + bar ); // 12
// Принуждение строки вести себя как число.
var foo = 1;
var bar = "2";
console.log( foo + Number(bar) ); // 3
Конструктор Number
, когда он вызвается как функция (как в примере выше), будет иметь эффект приведения его параметра в число. Унарный оператор + также делает то же самое:
// Принуждение строки вести себя как число
// (использование унарного оператора плюс).
console.log( foo + +bar ); // 3
Логические операторы
Логические операторы позволяют оценить последовательность операндов, используя операции И (&&
) и ИЛИ (||
).
var foo = 1;
var bar = 0;
var baz = 2;
// возвращает 1, что является истиной
foo || bar;
// возвращает 1, что является истиной
bar || foo;
// возвращает 0, что является ложью
foo && bar;
// возвращает 2, что является истиной
foo && baz;
// возвращает 1, что является истиной
baz && foo;
В вышеупомянутом примере, оператор ||
возвращает значение первого истинного операнда, или в случаях, когда никакой операнд не является истинным, он возвращает последний операнд. Оператор && возвращает значение первого ложного операнда, или значение последнего операнда, если оба операнда - истинны.
Вы иногда можете увидеть, что разработчики используют эти логические операторы для регулирования потока вместо использования оператора if
. Например:
// Сделать что-либо с foo, если foo истинно.
foo && doSomething( foo );
// Установить bar в baz, если baz истинно;
// иначе, установить его в возвращаемое значение createBar()
var bar = baz || createBar();
Этот стиль является довольно изящным и приятно кратким; однако надо сказать, что его может быть действительно трудно читать или использовать, особенно для новичков. В одной из более поздних статей будет более подробно написано об оценке истинности в условном коде.
Операторы сравнения
Операторы сравнения позволяют Вам тестировать, эквивалентны ли значения или идентичны ли значения.
// Операторы сравненияvar foo = 1;
var bar = 0;
var baz = "1";
var bim = 2;
foo == bar; // ложь
foo != bar; // истина
foo == baz; // истина; но отметьте, что
// типы отличаются
foo === baz; // ложь
foo !== baz; // истина
foo === parseInt( baz ); // true
foo > bim; // ложь
bim > baz; // истина
foo <= baz; // истина
Для получения дополнительной информации об операторах сравнения, посетите Сеть Разработчиков Mozilla.