Специальные операторы
Содержание
- 1. Перечень специальных операторов
- 2. Тернарный оператор ? :
- 3. Оператор in
- 4. Оператор instanceof
- 5. Оператор new. Создать экземпляр объекта
- 6. Оператор this. Получить текущий объект
- 7. Оператор typeof. Получить тип в виде строки
- 8. Оператор void. Провести вычисление без возврата значения
- 9. Оператор ‘ , ‘ (запятая). Инициализация нескольких переменных, несколько присваиваний
- Связанные темы
Поиск на других ресурсах:
1. Перечень специальных операторов
В языке JavaScript специальные операторы выполняют всевозможные важные функции. К этим операторам относятся:
- условный оператор ?:. Этот оператор еще называется тернарным оператором, поскольку для получения результата требует трех операндов;
- оператор delete;
- оператор in;
- оператор instanceof;
- оператор new;
- оператор this;
- оператор typeof;
- оператор void;
- оператор ‘ , ‘ (запятая).
⇑
2. Тернарный оператор ? :
Тернарный оператор ?: использует три операнда для получения результата. Общая форма использования оператора
res = condition ? expression1 : expression2
здесь
- condition – условное выражение, результатом которого является значение true или false;
- expression1 – вычисляемое выражение, если condition = true;
- expression2 – вычисляемое выражение, если condition = false;
- res – результат, получаемый вследствие вычисления одного из выражений expression1 или expression2.
Тернарный оператор ?: может быть заменен инструкцией if-else.
Пример.
// Тернарный оператор ?: // 1. Вычислить максимальное из двух чисел x, y var x, y var res1 x = 8 y = 5 res1 = (x > y) ? x : y // res1 = x = 8 // 2. Получить уведомление о равенстве/неравенстве строк var s1 = "abcd" var s2 = "abcde" var res2 = (s1 == s2) ? "Strings are equal." : "Strings are not equal"
⇑
3. Оператор in
Оператор in предназначен для определения наличия заданного значения в объекте. Общая форма использования оператора
value in obj
здесь
- obj – объект;
- value – значение, проверяемое на наличие в объекте obj.
Результатом работы оператора может являться значение true или false.
Пример.
// Оператор in // Проверка, есть ли в массиве Days есть элемент с индексом 5 var Days = [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ]; if (5 in Days) { document.write("Index 5 is in the array Days.") } else { document.write("Index 5 is not in the array Days.") }
⇑
4. Оператор instanceof
Оператор instanceof позволяет определить, относится ли указанный объект к заданному типу. Общая форма использования оператора
obj instanceof type
здесь
- obj – экземпляр (объект) некоторого типа;
- type – тип (Number, String, …).
Пример.
// Оператор instanceof 'use strict'; // 1. Тип String // Создать объект типа String var str = new String() if (str instanceof String) document.write("str is of type String") else document.write("str is not of type String") // 2. Объект типа Number var x = Number(10) if (x instanceof Number) document.write("x is of type Number") else document.write("x is not of type Number")
⇑
5. Оператор new. Создать экземпляр объекта
Оператор new предназначен для создания экземпляра объекта. Оператор имеет следующую общую форму использования
obj = new Type()
здесь
- Type – некоторый тип. Это может быть один из стандартных типов (Number, String и другие) или тип, определяемый программистом;
- obj – имя объекта, для которого создается экземпляр.
Пример.
// Оператор new // Создать объект типа Number var num = new Number(23) // Создать объект типа String var str str = new String("Hello")
⇑
6. Оператор this. Получить текущий объект
Использование ключевого слова this зависит от контекста, в котором оно применяется. Подробный обзор применения ключевого слова this в программах не является предметом данной темы.
В данной теме рассматривается случай использования этого объекта для получения ссылки на этот объект. Для этого случая применение this выглядит следующим образом
this.item
Здесь item – некоторый элемент объекта (переменная, объект, функция и т.п.).
Пример.
'use strict'; var Point = { x: 10, y: 10, PrintX: function () { console.log("x = ", this.x) // this - ссылка на объект Point }, PrintY: function () { console.log("y = ", this.y) // this - ссылка на объект Point }, PrintXY: function () { this.PrintX() // вызов методов текущего объекта this.PrintY() } } var x = 5 Point.PrintX() // x = 10 var y = 55 Point.PrintY() // y = 10 Point.PrintXY()
Результат
x = 10 y = 10 x = 10 y = 10
⇑
7. Оператор typeof. Получить тип в виде строки
С помощью оператора typeof можно получить название типа объекта в виде строки. Общая форма использования оператора
typeName = typeof(obj)
здесь
- obj – некоторый объект;
- typeName – переменная строкового типа, содержащая название типа объекта obj.
Пример.
'use strict'; // Оператор typeof - получить строковое представление типа var Line = { x1: 10, y1: 10, x2: 20, y2: 25, Length: function () { return len = Math.sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2)); } } var typeName = typeof(Line) // typeName = "object" console.log(typeName) var t = 77 typeName = typeof (t) // typeName = "number" console.log(typeName) var s = "Hello!" typeName = typeof (s) // typeName = "string" console.log(typeName)
Результат
object number string
⇑
8. Оператор void. Провести вычисление без возврата значения
Вычисление выражения операнда без возврата значения производится оператором void. Оператор void вычисляет заданное выражение и возвращает undefined. Общая форма использования оператора имеет вид
void expression
здесь
- expression – выражение или функция.
Пример.
В примере показано применение оператора void для функции и выражения.
'use strict'; // Оператор void // 1. Использование void с функцией // Функция, которая ничего не возвращает void function Hello() { console.log("Hello, world!") }() // 2. Использование void с выражением var b = void (2 == '2') // b = undefined console.log("b = ", b) var res = void (25 * 3) // res = undefined console.log("void (25*3) => ", res) res = void 25 * 3 // res = NaN console.log("void 25*3 => ", res)
Результат
Hello, world! b = undefined void (25*3) => undefined void 25*3 => NaN
⇑
9. Оператор ‘ , ‘ (запятая). Инициализация нескольких переменных, несколько присваиваний
Оператор ‘ , ‘ используется для выполнения нескольких операций присваивания, других операций внутри циклов или инициализации переменных.
Пример.
'use strict'; // Оператор , (запятая) // 1. Инициализация переменных var x = 5, y = 8 console.log("x = ", x, "; y = ", y) // 2. Инициализация массива значениями var A = [2, 3, 3, 4] console.log("A = ", A) // 3. Несколько присваиваний var a, b, c a = 3, b = 7, c = 11 console.log("a = ", a, ", b = ", b, ", c = ", c) // 4. Использование запятой в цикле // Вывести квадраты чисел от 1 до 5 в оригинальный способ for (var i = 1, j = 1; i <= 5, j <= 5; i++, j++) console.log(i * j)
Результат
x = 5 ; y = 8 A = [ 2, 3, 3, 4 ] a = 3 , b = 7 , c = 11 1 4 9 16 25
⇑
Связанные темы
⇑