Темы: присваивание, сравнение, арифметика, побитовые, троичные, логические и унарные операторы.
Ознакомьтесь с интерактивной викториной по этой истории здесь https://quizzesforyou.com/quiz/jsoperators
Быстрое обновление:
1. Операторы присваивания:
Операторы присваивания в JavaScript используются для присвоения значений переменным. Различные операторы присваивания, доступные в JavaScript:
Оператор присваивания (=), присваивание сложения (+=), присваивание вычитания (-=), присваивание умножения (*=), присваивание деления (/=), присваивание остатка (%=), присвоение степени (**=)
2. Операторы сравнения:
В JavaScript операторы сравнения используются для сравнения значений и определения взаимосвязи между ними. Они возвращают логическое значение (true или false) на основе результата сравнения.
Равно (==), Не равно (!=), Строго равно (===), Строго не равно (!==), Больше (›), Меньше (‹), Больше или равно to (›=), Меньше или равно (‹=), Тернарный оператор (?:)
3. Арифметические операторы:
Арифметические операторы используются для выполнения математических вычислений и управления числовыми значениями в JavaScript.
Сложение (+), Вычитание (-), Умножение (*), Деление (/), Остаток (%), Возведение в степень (**), Приращение (++) — постфикс и префикс, Декремент (—) — постфикс и префикс
4. Побитовые операторы:
Побитовые операторы работают с отдельными битами операндов, позволяя вам манипулировать и выполнять операции на двоичном уровне.
Побитовое И (&), Побитовое ИЛИ (|), Побитовое исключающее ИЛИ (^), Побитовое НЕ (~), Сдвиг влево (‹‹), Сдвиг вправо с распространением знака (››), Сдвиг вправо с заполнением нулями (››› )
5. Логические операторы:
Логические операторы обычно используются для объединения нескольких условий и принятия решений на основе истинности или ложности значений.
Логическое И (&&), Логическое ИЛИ (||), Логическое НЕ (!)
Оценка короткого замыкания:
- Логическое И (&&) Короткое замыкание: если левый операнд
&&
ложен, правый операнд не оценивается. - Логическое ИЛИ (||) Короткое замыкание: если левый операнд
||
истинен, правый операнд не оценивается.
let x = false && ( 10 > 5 ); // short-circuited and evaluate to false let x = true || (10 < 5); // short-circuited and evaluate to true
Нулевой оператор объединения:
Оператор объединения Null (??) в JavaScript предоставляет краткий способ предоставления значения по умолчанию, когда переменная или выражение имеют значение null или не определены.
let username = null; let defaultUsername = "Guest"; let greeting = "Welcome, " + (username ?? defaultUsername) + "!"; console.log(greeting); // Output: "Welcome, Guest!"
6. Тернарный оператор:
Тернарный оператор, также известный как условный оператор, представляет собой краткий способ написания условных операторов в JavaScript. Он часто используется как сокращенная версия оператора if…else.
синтаксис: condition ? expression1 : expression2
const age = 18; const isAdult = age >= 18 ? 'Yes' : 'No'; console.log(isAdult); // Output: 'Yes'
7. Унарные операторы
Унарные операторы в JavaScript — это операторы, которые выполняют операции над одним операндом. Их можно использовать для изменения или оценки значения одного выражения. JavaScript поддерживает несколько унарных операторов, в том числе
Унарный плюс: `+`, Унарный отрицание: `-`, Логическое НЕ: `!`, Приращение: `++`, Уменьшение: `— `
Приоритет оператора:
Пожалуйста, проверьте таблицу MDN для приоритета оператора https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_precedence
Тесты:
Ознакомьтесь с интерактивной викториной по этой истории здесь https://quizzesforyou.com/quiz/jsoperators
1.Каков результат?
let num = 8; let multiplier = 2; num *= multiplier += 3; console.log(num);
a) 16
b) 40
c) 80
Ответ: б) 40
Фрагмент кода включает вложенные операторы присваивания. Сначала multiplier
увеличивается на 3 (multiplier += 3
), в результате чего multiplier
имеет значение 5. Затем значение num
умножается на обновленное значение multiplier
(5), в результате чего num
имеет значение 40.
2. Каков результат?
let a = "Hello"; let b = "hello"; let result = a < b; console.log(result);
правда
б) ложный
в) неопределенный
Ответ: а) верно
Фрагмент кода сравнивает значения a
и b
с помощью оператора <
меньше. JavaScript сравнивает строки на основе их значений Unicode. В Юникоде прописные буквы стоят перед строчными. Поскольку «Hello» стоит перед «hello» в порядке Unicode, результатом будет true
.
3. Каков результат?
let x = true; let y = 5; let result = x && (y > 10); console.log(result);
правда
б) ложный
в) неопределенный
Ответ: б) неверно
Фрагмент кода использует логический оператор И (&&
), чтобы проверить, верны ли x
и (y > 10)
. Поскольку x
истинно, оценка переходит к (y > 10)
. Поскольку y
не больше 10 (5 > 10
— ложь), общий результат — ложь.
4. Каков результат?
let name = "John"; let fallbackName = "Anonymous"; let result = name ?? fallbackName ?? "Guest"; console.log(result);
а) «Джон»
б) «Аноним»
в) «Гость»
Ответ: а) «Джон»
Этот код использует несколько операторов объединения null (??
) для присвоения значения name
result
. Если name
имеет значение null или не определено, проверяется следующее значение fallbackName
, и если оно также равно null или не определено, наконец присваивается значение «Гость» для result
. Поскольку name
— это «Джон», ему присваивается result
, а значение — «Джон».
5. Каков результат?
let x = undefined; let y; let result = x === y; console.log(result);
правда
б) ложный
в) неопределенный
Ответ: а) верно
Фрагмент кода сравнивает значения x
и y
с помощью оператора строгого равенства ===
. Поскольку и x
, и y
равны undefined
, результат верен.
6. Каков результат?
let x = 5; let y = 3; x += y *= 2; console.log(x);
a) 8
b) 11
c) 16
Ответ: б) 11
Сначала y
умножается на 2, в результате чего y
присваивается значение 6. Затем x
увеличивается на значение y
(6) и становится равным 11.
7. Каков результат?
let price = 10; let discount = null; let finalPrice = price - (discount ?? 0); console.log(finalPrice);
a) 10
б) ноль
в) 10 — скидка
Ответ: а) 10
Фрагмент кода использует оператор объединения null (??
), чтобы присвоить значение discount
для вычитания из price
. Если discount
имеет значение null или не определено, в качестве скидки используется значение 0. Поскольку discount
равно нулю, значение price - 0
дает 10, которое присваивается finalPrice
.
8. Каков результат?
let y = "Hello"; let result = y && "World"; console.log(result);
а) «Здравствуйте»
б) «Мир»
в) неопределенный
Ответ: б) «Мир»
Фрагмент кода использует логический оператор И (&&
), чтобы присвоить значение "World"
result
. Поскольку и y
, и "World"
являются истинными значениями, выражение y && "World"
возвращает последнее истинное значение, то есть "World"
. Поэтому "World"
присваивается result
.
9. Каков результат?
let x; let result = x !== null ? x : "Default"; console.log(result);
а) неопределенный
б) ноль
в) «По умолчанию»
Ответ: а) неопределенный
Фрагмент кода использует условный (тернарный) оператор, чтобы проверить, не является ли x
нулевым. Если это правда, x
присваивается result
; в противном случае присваивается значение «По умолчанию». Поскольку x
не определено, условие истинно, и значение 'undefined' присваивается result
.
Проверьте больше викторин @ https://quizzesforyou.com/
Ссылки: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Expressions_and_operators