Назад к вопросам
Junior
81
questionbank
Расскажи о типах операторов в JavaScript.
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Операторы в JavaScript делятся на несколько типов, каждый из которых выполняет определенные действия над операндами.
Основные типы операторов:
- Арифметические операторы: Используются для выполнения математических операций.
- Операторы присваивания: Присваивают значение переменной.
- Операторы сравнения: Сравнивают два значения и возвращают булево значение (
trueилиfalse). - Логические операторы: Выполняют логические операции над булевыми значениями.
- Побитовые операторы: Выполняют операции на уровне отдельных битов чисел.
- Тернарный оператор: Условный оператор, который присваивает значение переменной в зависимости от условия.
- Оператор
typeof: Возвращает строку, указывающую тип операнда. - Оператор
instanceof: Проверяет, является ли объект экземпляром определенного класса или конструктора. - Оператор
delete: Удаляет свойство объекта или элемент из массива. - Оператор
void: Выполняет выражение, но возвращаетundefined. - Оператор
in: Проверяет, имеет ли объект указанное свойство. - Операторы spread (
...) и rest (...): Для работы с итерируемыми объектами (массивы, строки) и параметрами функций.
Примеры:
// Арифметические
let sum = 5 + 3; // 8
let difference = 10 - 4; // 6
let product = 2 * 6; // 12
let division = 15 / 3; // 5
let remainder = 10 % 3; // 1
let exponentiation = 2 ** 3; // 8
let increment = 5;
increment++; // 6
let decrement = 8;
decrement--; // 7
// Присваивания
let x = 10;
x += 5; // x равно 15
x -= 3; // x равно 12
x *= 2; // x равно 24
x /= 4; // x равно 6
x %= 5; // x равно 1
x **= 3; // x равно 1
// Сравнения
console.log(5 == '5'); // true (нестрогое сравнение)
console.log(5 === '5'); // false (строгое сравнение)
console.log(10 > 5); // true
console.log(7 < 12); // true
console.log(8 >= 8); // true
console.log(4 <= 9); // true
console.log(5 != 'ten'); // true (нестрогое сравнение)
console.log(5 !== '5'); // true (строгое сравнение)
// Логические
let a = true;
let b = false;
console.log(a && b); // false (логическое И)
console.log(a || b); // true (логическое ИЛИ)
console.log(!a); // false (логическое НЕ)
// Тернарный оператор
let age = 18;
let status = (age >= 18) ? 'совершеннолетний' : 'несовершеннолетний';
console.log(status); // совершеннолетний
// typeof
console.log(typeof 'hello'); // string
console.log(typeof 123); // number
console.log(typeof true); // boolean
console.log(typeof {}); // object
console.log(typeof []); // object (важно: массив в JS - это особый тип объекта)
console.log(typeof null); // object (историческая ошибка в JS)
console.log(typeof undefined); // undefined
console.log(typeof function() {}); // function
// instanceof
class MyClass {}
let myObject = new MyClass();
console.log(myObject instanceof MyClass); // true
console.log(myObject instanceof Object); // true
// delete
let person = { name: 'Alice', age: 30 };
delete person.age;
console.log(person); // { name: 'Alice' }
// in
let car = { make: 'Toyota', model: 'Camry' };
console.log('make' in car); // true
console.log('year' in car); // false
// Spread и Rest
const numbers = [1, 2, 3];
const newNumbers = [...numbers, 4, 5]; // Spread: [1, 2, 3, 4, 5]
function sumAll(...args) { // Rest: собирает аргументы в массив
return args.reduce((sum, current) => sum + current, 0);
}
console.log(sumAll(1, 2, 3, 4)); // 10
Понимание этих операторов фундаментально для написания логики на JavaScript.