Koji operatori postoje u JavaScriptu?
sobes.tech АИ
Одговор од АИ
У Јавскрипту постоји неколико типова оператора који извршавају различите функције:
-
Оператори доделе: Додељују вредност променљивој.
=(једноставно додељивање)+=,-=,*=,/=,%=(композитни оператори доделе)**=(додела уз степеновање)<<=,>>=,>>>=(додела са померањем)&=,|=,^=(битови оператори доделе)&&=,||=,??=(логичка додела)
-
Оператори поређења: Поређују две вредности и враћају булеву вредност.
==(једнакост)!=(неједнакост)===(строга једнакост)!==(строга неједнакост)>(веће)<(мање)>=(веће или једнако)<=(мање или једнако)
-
Арифметички оператори: Извршавају математичке операције.
+(збир)-(разлика)*(помножак)/(делилац)%(остата од делења)**(степеновање)++(инкремент)--(декремент)
-
Битови оператори: Извршавају операције на нивоу појединачних битова броја.
&(битовско И)|(битовско ИЛИ)^(битовско искључиво ИЛИ)~(битовско НЕ)<<(леви померањe)>>(десни померањe са очувањем знака)>>>(десни померањe са попуњавањем нулама)
-
Логички оператори: Обједињују или инвертују булеве вредности.
&&(логичко И)||(логичко ИЛИ)!(логичко НЕ)
-
Стринг оператори: Рад са низовима.
+(конкатенација)
-
Условни (тернарни) оператор: Кратки облик
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 (без грешке)