Join MDN and developers like you at Mozilla's View Source conference, 12-14 September in Berlin, Germany. Learn more at https://viewsourceconf.org

Operatory porównania

To tłumaczenie jest niekompletne. Pomóż przetłumaczyć ten artykuł z języka angielskiego.

Podsumowanie

Operandy posiadają wartość liczbową lub łańcucha znaków. Łańcuchy znaków są porównywane w oparciu o zasady pisowni, używają wartości Unicode.

Jako rezultat porównania zwracana jest wartość logiczna.

  • Dwa łańcuchy są równe kiedy kiedy posiadają taką sama sekwencję znaków, taką samą długość, i takie same znaki w zgodnych pozycjach.
  • Dwie liczby są równe kiedy ich wartości liczbowe (posiadają liczbę o takiej samej wartości). NaN jest różne dla wszystkich, włączając NaN. Dodatnie i ujemne zera są równe.
  • Dwa obiekty są równe jeżeli odnoszą się do tego samego obiektu .
  • Dwa operandy Boolean są równe jeżeli oba zwracają true lub false.
  • Null and Undefined types are == (lecz nie ===).

Następująca tabela opisuje operatory porównania:

Operator Opis Przykłady zwracające prawdę (true)1
Równy (==) Zwraca true jeżeli operandy są równe. Jeżeli operandy nie są tego samego typu, JavaScript próbuje przekształcić operandy na odpowiedni dla porównania typ.

3 == var1
"3" == var1
3 == '3'

Różny (!=) Zwraca true jeżeli operandy są różne. Jeżeli dwa operandy nie są tego samego typu, JavaScript próbuje przekształcić operandy na odpowiedni dla porównania typ.

var1 != 4
var1 != "3"

Identyczny (===) Zwraca true jeżeli operandy są równe i tego samego typu.

3 === var1

Nieidentyczny (!==) Zwraca true jeżeli operandy nie są równe i/lub nie są tego samego typu.

var1 !== 3
3 !== '3'

Większy niż (>) Zwraca true jeżeli lewy operand jest większy od prawego operandu.

var2 > var1

Większy - równy (>=) Zwraca true jeżeli lewy operand jest większy lub równy prawemu operandowi.

var2 >= var1
var1 >= 3

Mniejszy niż (<) Zwraca true, jeśli lewy operand jest mniejszy, niż prawy.

var1 < var2

Mniejszy - równy (<=) Zwraca true jeżeli lewy operand jest mniejszy lub równy prawemu operandowi.

var1 <= var2
var2 <= 5

1 Te przykłady zakładają, że var1 będzie przydzielona wartość 3 i var2 będzie miała przydzieloną wartość 4.

Używanie operatorów porównania

Standardowe operatory(== i !=) porównują dwa operandy bez względu na ich typ. Operatory porównania identyczności(=== i !==) dokonują porównania równości na operandach tego samego typu. Operatorów identyczności używamy jeżeli operandy muszą być określonego typu jak również wartości lub jeśli dokładny typ operandów jest ważny. W przeciwnym razie, używamy standardowych operatorów porównania, które pozwalają na porównać identyczność dwóch operandów nawet jeżeli nie są takiego samego typu.

Kiedy potrzebna jest konwersja, JavaScript następująco przekształca operand Number, Boolean lub Object.

  • Kiedy porównujemy liczbę i łańcuch, łańcuch jest zmieniany na wartość liczbową. JavaScript próbuje przekształcić łańcuch literalny cyfr na wartość typu Number. Najpierw, matematyczna wartość jest wyprowadzana z łańcucha cyfrowego literału. Następnie, ta wartość jest zaokrąglana do najbliższej wartości typu Number.
  • If one of the operands is Boolean, the Boolean operand is converted to 1 if it is true and +0 if it is false.
  • If an object is compared with a number or string, JavaScript attempts to return the default value for the object. Operators attempt to convert the object to a primitive value, a String or Number value, using the valueOf and toString methods of the objects. If this attempt to convert the object fails, a runtime error is generated.

You cannot use the standard equality operator (==) to compare instances of JSObject. Use the JSObject.equals method for such comparisons.

Kompatybilność wsteczna

Zachowanie standardowych operatorów porównania (== i !=) zależy od wersji JavaScript.

JavaScript 1.3 i wersje wcześniejsze

You can use either the standard equality operator (==) or JSObject.equals to compare instances of JSObject.

JavaScript 1.2

The standard equality operators (== and !=) do not perform a type conversion before the comparison is made. Operatory identyczności (=== i !==) są niedostępne.

JavaScript 1.1 i wersje wcześniejsze

The standard equality operators (== and !=) perform a type conversion before the comparison is made.Operatory identyczności (=== i !==) są niedostępne.

Autorzy i etykiety dokumentu

Etykiety: 
 Autorzy tej strony: teoli, Ptak82, Internauta1024A, Mgjbot
 Ostatnia aktualizacja: teoli,