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
===
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
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.
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.
===
bedeutet genau gleich - Wert und Typ vergleichen.
'1' == 1 // true
'1' === 1 // false
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.
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.
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.
- 1. SPL vs. Array: Wann sollten wir SPL verwenden und wann sollten wir Array in PHP verwenden?
- 2. Git, also wann sollten wir Rebase verwenden?
- 3. Wann sollten wir (wirklich) RenderScript verwenden?
- 4. Wann zu verwenden === Operator-Check in JavaScript?
- 5. Wann sollten wir instanceof verwenden und wann nicht
- 6. Wann sollten wir multiprocessing.Pool.join aufrufen?
- 7. Wann sollten Sie === vs ==,! == vs! =, Etc .. in Javascript verwenden?
- 8. In C++ 11 wann sollten wir explizit std :: cerase verwenden?
- 9. Wann verwenden wir POJO und wann verwenden wir SLSB
- 10. Wann sollten wir Mockery vs JUnit4Monitor benutzen?
- 11. Wann müssen wir den überprüften Operator in C# verwenden?
- 12. Wann sollten wir Html-Helfer, Razor-Helfer oder Teilansichten verwenden?
- 13. Wann sollten wir .then mit Protractor Promise verwenden?
- 14. Wann sollten wir nicht den Domain-Driven Design-Ansatz verwenden?
- 15. Wann und warum sollten wir die Klasse System.ComponentModel.Container verwenden?
- 16. Wann sollten wir verwenden sizeof mit und ohne Klammern
- 17. Wann sollten wir die EntityManagerFactory schließen?
- 18. Wann sollten wir eine statische Klasse erstellen?
- 19. Wann sollten Sie "Prototyp" bei der Objektvergrößerung in Javascript verwenden?
- 20. Jedis - Wann verwenden wir returnBrokenResource()
- 21. Warum sollten wir lua_pushinteger() verwenden?
- 22. sollten wir Path.DirectorySeperatorChar verwenden C#
- 23. Welche Quellensteuerung sollten wir verwenden?
- 24. Wo/wann verwenden wir JSON?
- 25. Warum * sollten * Wir verwenden EventHandler
- 26. Wann sollten Sie (...) {...} in C# verwenden?
- 27. Warum sollten wir Literale in C# verwenden?
- 28. Sollten wir Faker in Rails Fabriken verwenden?
- 29. Wann sollten JavaScript-Template-Engines verwendet werden?
- 30. Wann sollten wir statische Funktion in asp.net Klasse schreiben
Nicht immer. Das ist nicht wahr –
Was ist, wenn Sie von GET erhalten String und von Datenbank erhalten Sie Integer? Gleiche Werte, aber '===' wird Dinge ruinieren – Justinas
Warum müssen Sie immer den Typ überprüfen? JavaScript ist nicht typensensitiv und die Funktion wurde aus einem bestimmten Grund hinzugefügt. – Zorken17