2016-04-18 29 views
-2

Wann und warum sollten wir '===' in Javascript oder jquery verwenden. Wird empfohlen, die Zeichenkette mit === und wenn ja warum zu testen. Ich habe einen Code, wo ich eine Bedingung für die Zeichenfolge wie überprüfen. Wenn (a == "etwas") ist das richtig oder sollte ich '==='Wann sollten wir '===' Operator in Javascript verwenden?

Antwort

0

=== wird für streng Typprüfung verwendet, wenn Sie Wert sowie seinen Typ überprüfen möchten. Für Beispiel

var x = 5; 
 
var y = "5"; 
 
var z=5; 
 
alert(x==y);//string and int value same though type different - TRUE 
 
alert(x===y);//value same but type different - FALSE 
 
alert(x===z);//value same and type same- TRUE

More Information

0

mit === werden Sie den Wert und die Art der Daten vergleichen. Mit == vergleichen Sie nur den Wert. So 1000 == "1000" ist es wahr, während 1000 === "1000" falsch ist.

0

In einer einfachen Antwort:

Triple equals überprüft die Gleichheit der Typen. Also wird es sowohl die Typen als auch den Inhalt prüfen.

z.B.

var a = '1' === 1; 

Würde falsch sein.

Ein double equals würde nur den Inhalt überprüfen, also würde der obige Code true zurückgeben.

1

=== bedeutet genau gleich - Wert und Typ vergleichen.

'1' == 1 // true 
'1' === 1 // false 
-3

Sie sollten fast immer den === Operator verwenden.

Ein Beispiel, warum:

1 == '1' //is true 
1 === '1' //is false 

Und Sie das zweite Ergebnis erreichen wollen, weil === überprüft, ob auch die Art gleich ist.

+2

Nicht immer. Das ist nicht wahr –

+0

Was ist, wenn Sie von GET erhalten String und von Datenbank erhalten Sie Integer? Gleiche Werte, aber '===' wird Dinge ruinieren – Justinas

+0

Warum müssen Sie immer den Typ überprüfen? JavaScript ist nicht typensensitiv und die Funktion wurde aus einem bestimmten Grund hinzugefügt. – Zorken17

0

Als eine gute Praxis, so viel wie möglich.

Als Minimum: wenn Sie für 0/false/Nullwert speziell zu überprüfen, denn wenn Sie == verwenden sie sind alle gleich:

0 == false // true 
0 === false // false 

Und f Sie die Existenz eines Wertes testen, aber Dieser Wert kann false oder 0 sein, dies wird nicht funktionieren.

if(value){} // false is value === false or value === 0 

Es ist auch die Art Gleichheit, aber ich glaube nicht wirklich, dass viel relevant, wenn Sie auf einige 3rd-Party abhängen, wo Sie diese benötigen.

0

A === "eine Zeichenfolge" bedeutet gleichwertigen Wert und darüber hinaus gleicher Typ.

Es ist ein Doppel-Test: In Ihrem Fall erhalten Sie nicht nur wahr, wenn die Werte gleich sind, sondern darüber hinaus, wenn die Variable A eine Zeichenfolge ist.

Verwandte Themen