Онлайн-курсы по JavaScript
Выбрать другой урок из курса
Обсуждение
Теория урока

Остальные операторы в JavaScript

Условный оператор (тернарный оператор) (?:)

Условный оператор - так получилось, что он единственный тернарный оператор (с тремя операндами). Допустим нам нужно найти наибольшее из двух переменных (конечно, логично было бы использовать свойство max, объекта Math):

Пример 1
var a = 10, b = 11;
var c = (a > b) ? a : b;

Звучит этот код так: если а больше b, то c = a, иначе c = b. Позже вы познакомитесь с if (в 4 главе). Можно записать тоже самое через if:

Пример 2
var a = 10, b = 11;
var c = a > b ? a : b;
if (a > b) {
    c = a;
}
else {
    c = b;
}

Оператор typeof

Оператор typeof является унарным, то есть помещается перед одним операндом, который может быть любого типа. Ответом typeof является строка, которая сообщает о типе операнда. Возьмём переменную x и проверим ее на принадлежность типу.

Пример 3
var x; /* undefined */
document.write(typeof x); /* -> undefined */
document.write('<br>');
 
var x = {}; /* объект */
document.write(typeof x); /* -> object */
document.write('<br>');
 
var x = true; /* true / false */
document.write(typeof x); /* -> boolean */
document.write('<br>');
 
var x = 122; /* число */
document.write(typeof x); /* -> number */
document.write('<br>');
 
var x = 'Строка'; /* строка */
document.write(typeof x); /* -> string */
document.write('<br>');
 
function func() {} /* функция */
document.write(typeof func); /* -> function */
document.write('<br>');

Где применять typeof? Например, пользователь вводит в поле какое-то значение и если это число то просто вывести, иначе вывести в кавычках.

Пример 4
var str = 'строка';
var ans = (typeof str == 'number') ? str : '"' + str + '"';
document.write(ans);

Оператор запятая (,)

Запятая тоже является оператором. Ее пользу вы узнаете, когда будете проходить 4 главу. Чаще всего ее используют в цикле for для разделения нескольких переменных цикла.

Пример 5
for (var i = 0, j = 0; i < 10; i++, j = i + 2) {
    ...
}
<
×
>
Не публикуйте свой код прямо в комментариях. Во-первых, он плохо отображается. Во-вторых, он может содержать для кого-то «спойлеры», т.е. ответы на практику. Воспользуйтесь специальными сервисами: cssdeck.com или jsfiddle.net.
Комментарии, содержащие код (пару строк не считается), будут безжалостно удаляться.