Jakie operatory istnieją w JavaScript?
sobes.tech AI
Odpowiedź od AI
W JavaScript istnieje kilka typów operatorów, które pełnią różne funkcje:
-
Operatory przypisania: Przypisują wartość do zmiennej.
=(przypisanie proste)+=,-=,*=,/=,%=(operacje przypisania złożonego)**=(przypisanie z potęgowaniem)<<=,>>=,>>>=(przypisanie z przesunięciem)&=,|=,^=(przypisanie z operacjami bitowymi)&&=,||=,??=(przypisanie logiczne)
-
Operatory porównania: Porównują dwie wartości i zwracają wartość boolean.
==(równość)!=(nierówność)===(ścisła równość)!==(ścisła nierówność)>(większe)<(mniejsze)>=(większe lub równe)<=(mniejsze lub równe)
-
Operatory arytmetyczne: Wykonują operacje matematyczne.
+(dodawanie)-(odejmowanie)*(mnożenie)/(dzielenie)%(reszta z dzielenia)**(potęgowanie)++(inkrementacja)--(dekrementacja)
-
Operatory bitowe: Wykonują operacje na poziomie bitów liczby.
&(bitowe AND)|(bitowe OR)^(bitowe XOR)~(bitowe NOT)<<(przesunięcie w lewo)>>(przesunięcie w prawo ze znakiem)>>>(przesunięcie w prawo bez znaku)
-
Operatory logiczne: łączą lub odwracają wartości boolean.
&&(logiczne AND)||(logiczne OR)!(logiczne NOT)
-
Operatory łańcuchów znaków: Pracują na stringach.
+(łączenie)
-
Operator warunkowy (ternarny): Skrócona forma
if...else.// warunek ? wyrażenie1 : wyrażenie2 let result = (a > b) ? "a jest większe od b" : "b jest większe lub równe a"; -
Operator przecinka: Wykonuje wiele wyrażeń, zwraca wartość ostatniego.
let x = 0; let y = (x++, 5); // x staje się 1, y staje się 5 -
Operatory relacji: Sprawdzają typ i istnienie właściwości.
in(sprawdza, czy właściwość istnieje w obiekcie)
// 'propertyName' in object console.log('length' in [1, 2, 3]); // trueinstanceof(sprawdza, czy obiekt jest instancją klasy)
// object instanceof className function Car() {} let myCar = new Car(); console.log(myCar instanceof Car); // true -
Operator unarny + i -:
+(zamienia operandę na liczbę)
console.log(+"5"); // 5 (liczba)-(zamienia operandę na liczbę i odwraca znak)
console.log(-"10"); // -10 (liczba) -
Operatory typu:
typeof(zwraca łańcuch wskazujący typ operand)
// typeof operand console.log(typeof 42); // "number" console.log(typeof "hello"); // "string"delete(usuwa właściwość obiektu lub element tablicy)
// delete object.property // delete array[index] let obj = { a: 1, b: 2 }; delete obj.a; console.log(obj); // { b: 2 } -
Operator grupowania ( ): Określa kolejność wykonywania operacji.
let z = (2 + 3) * 4; // Operacje w nawiasach wykonywane są jako pierwsze -
Operator new: Tworzy nową instancję obiektu.
// new Constructor([arguments]) let date = new Date(); -
Operator super: Wywołuje metodę klasy nadrzędnej.
class Parent { greet() { console.log("Cześć z Parent"); } } class Child extends Parent { greet() { super.greet(); // Wywołanie metody rodzica console.log("Cześć z Child"); } } -
Operator this: Odnosi się do bieżącego kontekstu wykonania.
-
Operator void: Wykonuje wyrażenie i zwraca
undefined.// void expression console.log(void 0); // undefined -
Operatory nullish coalescing i optional chaining:
??(operator łączenia null - zwraca prawy operand, jeśli lewy jestnulllubundefined)
// left ?? right let val = undefined ?? "domyślnie"; // val będzie "domyślnie"?.(operator opcjonalnego łańcuchowania - bezpieczny dostęp do właściwości w łańcuchu, jeśli pośrednia wartość jestnulllubundefined)
// object?.property?.method() let user = { address: { city: "NYC" } }; console.log(user.address?.zipCode); // undefined (bez błędu)