Кои оператори съществуват в JavaScript?
sobes.tech AI
Отговор от AI
В JavaScript съществуват няколко типа оператори, които изпълняват различни функции:
-
Оператори за присвояване: Присвояват стойност на променлива.
=(просто присвояване)+=,-=,*=,/=,%=(съставни присвоявания)**=(присвояване с издигане на степен)<<=,>>=,>>>=(присвояване със сдвиг)&=,|=,^=(присвояване с битови операции)&&=,||=,??=(логическо присвояване)
-
Оператори за сравнение: Сравняват две стойности и връщат булева стойност.
==(равенство)!=(неравенство)===(строго равенство)!==(строго неравенство)>(по-голямо)<(по-малко)>=(по-голямо или равно)<=(по-малко или равно)
-
Арифметични оператори: Извършват математически операции.
+(събиране)-(изваждане)*(умножение)/(деление)%(остатък от деление)**(повдигане на степен)++(инкремент)--(декремент)
-
Битови оператори: Извършват операции на ниво отделни битове на числото.
&(битово И)|(битово ИЛИ)^(битово изключващо ИЛИ)~(битово НЕ)<<(леви сдвигове)>>(десни сдвигове с запазване на знака)>>>(десен сдвиг с попълване с нули)
-
Логически оператори: Обединяват или инвертират булеви стойности.
&&(логическо И)||(логическо ИЛИ)!(логическо НЕ)
-
Стринг оператори: Работят със стрингове.
+(конкатенация)
-
Условен (тернарен) оператор: Кратка форма на
if...else.// условие ? израз1 : израз2 let result = (a > b) ? "a е по-голямо от b" : "b е по-голямо или равно на a"; -
Оператор запетая: Изпълнява няколко израза, връщайки стойността на последния.
let x = 0; let y = (x++, 5); // x става 1, y става 5 -
Оператори за отношение: Проверяват типа и наличието на свойства.
in(проверява дали свойство съществува в обект)
// 'propertyName' in object console.log('length' in [1, 2, 3]); // trueinstanceof(проверява дали обект е екземпляр на клас)
// object instanceof className function Car() {} let myCar = new Car(); console.log(myCar instanceof Car); // true -
Унарни оператори плюс и минус:
+(преобразува операнда в число)
console.log(+"5"); // 5 (число)-(преобразува операнда в число и инвертира знака)
console.log(-"10"); // -10 (число) -
Оператори за тип:
typeof(връща низ, указващ типа на операнда)
// typeof operand console.log(typeof 42); // "number" console.log(typeof "hello"); // "string"delete(премахва свойство от обект или елемент от масив)
// delete object.property // delete array[index] let obj = { a: 1, b: 2 }; delete obj.a; console.log(obj); // { b: 2 } -
Групов оператор ( ): Определя реда на изпълнение на операциите.
let z = (2 + 3) * 4; // Изчисленията в скобите се изпълняват първи -
Оператор new: Създава нов екземпляр от обект.
// new Constructor([arguments]) let date = new Date(); -
Оператор super: Извиква метод на родителския клас.
class Parent { greet() { console.log("Hello from Parent"); } } class Child extends Parent { greet() { super.greet(); // Вика метода на родителя console.log("Hello from Child"); } } -
Оператор this: Позовава се на текущия контекст на изпълнение.
-
Оператор void: Изпълнява израз и връща
undefined.// void expression console.log(void 0); // undefined -
Nullish coalescing и optional chaining оператори:
??(nullish coalescing оператор - връща десния операнд, ако левият еnullилиundefined)
// left ?? right let val = undefined ?? "default"; // val ще бъде "default"?.(optional chaining оператор - безопасен достъп до свойства в верига, ако междинната стойност еnullилиundefined)
// object?.property?.method() let user = { address: { city: "NYC" } }; console.log(user.address?.zipCode); // undefined (без грешка)