Heim Web-Frontend js-Tutorial Einführung in die implizite Typkonvertierung von Vergleichsoperatoren in JavaScript (mit Beispielen)

Einführung in die implizite Typkonvertierung von Vergleichsoperatoren in JavaScript (mit Beispielen)

Mar 25, 2019 pm 02:26 PM
html5 javascript

Dieser Artikel bietet Ihnen eine Einführung in die implizite Typkonvertierung von Vergleichsoperatoren in JavaScript. Ich hoffe, dass er für Sie hilfreich ist.

Ich glaube, Sie sehen oft „==“ und „===“ in Ihrem Code, aber verstehen Sie Vergleichsoperatoren und ihre impliziten Konvertierungen heute noch einmal?

Kongruenzoperator====

Erklärung: Strikte Übereinstimmung, keine Typkonvertierung, Datentyp und Wert müssen genau gleich sein

先判断类型,如果类型不是同一类型的话直接为false;

1 对于基本数据类型(值类型): Number,String,Boolean,Null和Undefined:两边的值要一致,才相等
      console.log(null === null)   // true
      console.log(undefined === undefined)  // true
   注意: NaN: 不会等于任何数,包括它自己
   console.log(NaN === NaN)  // false 

2 对于复杂数据类型(引用类型): Object,Array,Function等:两边的引用地址如果一致的话,是相等的
     arr1 = [1,2,3];
     arr2 = arr1;
     console.log(arr1 === arr2)   // true
Nach dem Login kopieren

Gleichheitsoperator==

Nicht strikte Übereinstimmung: Typkonvertierung ist möglich, es gibt jedoch fünf Situationen mit Vorbedingungen
(Der folgende Code verwendet x == y als Beispiel)

Sowohl x als auch y sind null oder undefiniert:
Regeln: Keine implizite Typkonvertierung, bedingungslos „true“ zurückgeben

console.log ( null == undefined );//true
console.log ( null == null );//true
console.log ( undefined == undefined );//true
Nach dem Login kopieren

x oder y ist NaN: NaN ist nicht gleich irgendeiner Zahl
Regeln: Keine implizite Typkonvertierung, bedingungslos „false“ zurückgeben

console.log ( NaN == NaN );//false
Nach dem Login kopieren

x und y sind beide String, Boolescher Wert, Zahl
Regeln: Es gibt eine implizite Typkonvertierung, die Daten, die nicht vom Zahlentyp sind, in Zahlen umwandelt

console.log ( 1 == true );//true    (1) 1 == Number(true)
console.log ( 1 == "true" );//false   (1) 1 == Number('true')
console.log ( 1 == ! "true" );//false  (1) 1 == !Boolean('true')  (2) 1 == !true  (3) 1 == false  (4)1 == Number(false)
console.log ( 0 == ! "true" );//true
console.log(true == 'true') // false
Nach dem Login kopieren

x oder y sind komplexe Daten Typ: Der ursprüngliche Wert des komplexen Datentyps wird zuerst abgerufen und dann links verglichen.
Der ursprüngliche Wert des komplexen Datentyps: Rufen Sie zuerst die valueOf-Methode und dann die toString-Methode auf.
valueOf: gibt sich im Allgemeinen selbst zurück Standardmäßig
Array toString: Standardmäßig wird die Join-Methode aufgerufen, um jedes Element zu verbinden, und die verbundene Zeichenfolge wird zurückgegeben.

console.log ( [].toString () );//空字符串
console.log ( {}.toString () );//[object Object]
注意:  空数组的toString()方法会得到空字符串,
      而空对象的toString()方法会得到字符串[object Object] (注意第一个小写o,第二个大写O哟)

console.log ( [ 1, 2, 3 ].valueOf().toString());//‘1,2,3’
console.log ( [ 1, 2, 3 ] == "1,2,3" );//true  (1)[1,2,3].toString() == '1,2,3'  (2)'1,2,3' == '1,2,3'
console.log({} == '[object Object]');//true
Nach dem Login kopieren

x und y sind beide komplexe Datentypen:
Die Regel vergleicht nur Adressen und gibt „true“ zurück, wenn die Adressen konsistent sind. Andernfalls wird „false“ zurückgegeben Weitere spannende Inhalte finden Sie in der Rubrik

JavaScript-Video-Tutorial

auf der PHP-Chinese-Website!

Das obige ist der detaillierte Inhalt vonEinführung in die implizite Typkonvertierung von Vergleichsoperatoren in JavaScript (mit Beispielen). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Tabellenrahmen in HTML Tabellenrahmen in HTML Sep 04, 2024 pm 04:49 PM

Anleitung zum Tabellenrahmen in HTML. Hier besprechen wir verschiedene Möglichkeiten zum Definieren von Tabellenrändern anhand von Beispielen für den Tabellenrand in HTML.

HTML-Rand links HTML-Rand links Sep 04, 2024 pm 04:48 PM

Anleitung zum HTML-Rand links. Hier besprechen wir einen kurzen Überblick über HTML margin-left und seine Beispiele sowie seine Code-Implementierung.

Verschachtelte Tabelle in HTML Verschachtelte Tabelle in HTML Sep 04, 2024 pm 04:49 PM

Dies ist eine Anleitung für verschachtelte Tabellen in HTML. Hier diskutieren wir anhand der entsprechenden Beispiele, wie man eine Tabelle innerhalb der Tabelle erstellt.

HTML-Tabellenlayout HTML-Tabellenlayout Sep 04, 2024 pm 04:54 PM

Leitfaden zum HTML-Tabellenlayout. Hier besprechen wir die Werte des HTML-Tabellenlayouts zusammen mit den Beispielen und Ausgaben im Detail.

HTML-Eingabeplatzhalter HTML-Eingabeplatzhalter Sep 04, 2024 pm 04:54 PM

Leitfaden für HTML-Eingabeplatzhalter. Hier besprechen wir die Beispiele für HTML-Eingabeplatzhalter zusammen mit den Codes und Ausgaben.

HTML-geordnete Liste HTML-geordnete Liste Sep 04, 2024 pm 04:43 PM

Leitfaden zur HTML-geordneten Liste. Hier besprechen wir auch die Einführung von HTML-geordneten Listen und Typen sowie deren Beispiele

Text in HTML verschieben Text in HTML verschieben Sep 04, 2024 pm 04:45 PM

Anleitung zum Verschieben von Text in HTML. Hier besprechen wir eine Einführung, wie Marquee-Tags funktionieren, mit Syntax und Beispielen für die Implementierung.

HTML-Onclick-Button HTML-Onclick-Button Sep 04, 2024 pm 04:49 PM

Anleitung zum HTML-OnClick-Button. Hier diskutieren wir deren Einführung, Funktionsweise, Beispiele und Onclick-Events in verschiedenen Veranstaltungen.

See all articles