Темы: присваивание, сравнение, арифметика, побитовые, троичные, логические и унарные операторы.

Ознакомьтесь с интерактивной викториной по этой истории здесь 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