Dodawcze operatory ECMAScript
- Poprzednia strona Operatory mnożenia
- Następna strona Operatory relacyjne
W większości języków programowania, operatorzy dodawania (czyli plus lub minus) są najprostszymi operatorami matematycznymi.
W ECMAScript istnieje wiele specjalnych zachowań dla operatorów dodawania.
Operator dodawania
Operator dodawania jest reprezentowany przez plus (+):
var iResult = 1 + 2
Jak operatory mnożeniowe, w przypadku obsługi wartości specjalnych, dodawanie w ECMAScript ma również pewne specjalne zachowania:
- Jeśli któryś z operandów jest NaN, wynik wynosi NaN.
- -Infinity dodać -Infinity, wynik to -Infinity.
- Infinity dodać -Infinity, wynik to NaN.
- +0 dodać +0, wynik to +0.
- -0 dodać +0, wynik to +0.
- -0 dodać -0, wynik to -0.
Jednak jeśli któryś z operandów jest ciągiem znaków, należy stosować następujące zasady:
- Jeśli oba operandy są ciągami znaków, drugi ciąg znaków jest dołączany do pierwszego.
- Jeśli tylko jeden z operandów jest ciągiem znaków, drugi operand jest przekształcany w ciąg znaków, wynik to połączone ciągi znaków.
Przykład:
var result = 5 + 5; //Dwie liczby alert(result); //Wyjście "10" var result2 = 5 + "5"; //Liczba i ciąg znaków alert(result2); //Wyjście "55"
Ten kod pokazuje różnice między dwoma trybami operatora dodawania. W normalnych warunkach 5+5 wynosi 10 (oryginalna wartość), jak w pierwszych dwóch liniach powyższego kodu. Jednak jeśli jeden z operandów zmieni się na ciąg znaków "5", wynik będzie wynosił "55" (oryginalna wartość stringowa), ponieważ drugi operand również zostanie przekształcony w ciąg znaków.
Uwaga:Aby uniknąć powszechnego błędu w JavaScript, zawsze dokładnie sprawdzaj typ danych operandów przy użyciu operatora dodawania.
Operator odejmowania
Operator odejmowania (-) to również często używany operator:
var iResult = 2 - 1;
Jak i operator dodawania, operator odejmowania ma również pewne specyficzne zachowania przy przetwarzaniu wartości specjalnych:
- Jeśli któryś z operandów jest NaN, wynik wynosi NaN.
- Infinity odjąć Infinity, wynik to NaN.
- -Infinity odjąć -Infinity, wynik to NaN.
- Infinity odjąć -Infinity, wynik to Infinity.
- -Infinity odjąć Infinity, wynik to -Infinity.
- +0 odjąć +0, wynik to +0.
- -0 odjąć -0, wynik to -0.
- +0 odjąć -0, wynik to +0.
- Jeśli któryś z operatorów nie jest liczbą, wynik wynosi NaN.
Uwaga:Jeśli operandy są liczbami, wykonuje się zwyczajne działanie odjęcia i zwraca wynik.
- Poprzednia strona Operatory mnożenia
- Następna strona Operatory relacyjne