Спеціальні оператори
Зміст
- 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 виглядає наступним чином
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
⇑
Споріднені теми