1. Einleitung Es gibt viele Operatoren in js, die in früheren Artikeln erwähnt wurden. Zum Beispiel: js-Ganzzahloperationen: Mit var foo = (12,4 / 4,13) | 0; // das Ergebnis ist 3 var bar = ~~(12.4 / 4.13); //Das Ergebnis ist 3 Es gibt nämlich noch einen anderen kleinen Trick var eee="eee"; Alarm(!!eee) Dies sind einige Operatoren. Weitere Einzelheiten finden Sie unter 49 JavaScript-Tipps und Tricks. Der JS-Operator einzelner vertikaler Strich "|" Heute möchte ich noch ein paar Dinge hinzufügen: 2. Komma-Operatorsei x = 1; x = (x++, x); console.log(x); // erwartete Ausgabe: 2 x = (2, 3); console.log(x); // erwartete Ausgabe: 3 Der Kommaoperator wertet das Argument auf der linken Seite vor dem Argument auf der rechten Seite aus. Anschließend wird der Wert des äußersten rechten Arguments zurückgegeben. var a = 10, b = 20; Funktion KommaTest(){ gebe a++, b++, 10 zurück; } var c = KommaTest(); alert(a); // gibt 11 zurück alert(b); // gibt 21 zurück alert(c); // gibt 10 zurück Nachdem wir nun die Aufruffunktionsoperatoren kennen, wollen wir anhand eines Beispiels veranschaulichen, wie ihre Konflikte behandelt werden. alert(2*5, 2*4); // Ausgabe 10 Der obige Code gibt 10 aus, aber wenn er nach dem Prinzip des Kommaoperators interpretiert wird, sollte er 8 ausgeben. Warum? Da der Kommaoperator in alert((2*5, 2*4)); // gibt 8 zurück 3. JavaScript-Null-Koaleszenzoperator (??) Der Dies unterscheidet sich vom logischen ODER-Operator (||), der den rechten Operanden zurückgibt, wenn der linke Operand falsch ist. Das heißt, wenn Sie || verwenden, um Standardwerte für bestimmte Variablen festzulegen, kann es zu unerwartetem Verhalten kommen. Zum Beispiel, wenn es falsch ist (z. B. „“ oder 0). Siehe Beispiel unten. let str = null||undefiniert let result = str??'haorooms blog' console.log(Ergebnis)//haorooms-Blog const nullValue = null; const emptyText = ""; // Leere Zeichenfolge, ein falscher Wert, Boolean("") === false const eineZahl = 42; const valA = nullValue ?? „der Standardwert von valA“; const valB = emptyText ?? "Der Standardwert von valB"; const valC = irgendeineZahl ?? 0; console.log(valA); // "Standardwert von valA" console.log(valB); // "" (Leere Zeichenfolge ist falsch, aber nicht null oder undefiniert) konsole.log(valC); // 42 4. optionaler Verkettungsoperator in JavaScript (?.) Der optionale Verkettungsoperator ( Bei Verwendung des optionalen Verkettungsoperators ( ?. ) beschwert sich der Browser nicht! const demo = { Name: 'haorooms', Katze: { Name: ‚Haorooms-Katze‘ } }; Konsole.log(demo.dog?.name); // erwartete Ausgabe: undefiniert konsole.log(demo.was?.()); // erwartete Ausgabe: undefiniert Funktionsaufruf: let result = someOne.benutzerdefinierteMethode?.(); Wenn Sie zulassen möchten, dass Optionale Verkettung mit Ausdrücken: let nestedProp = obj?.['prop' + 'Name']; Optionale Verkettung zum Zugriff auf Arrays: Lassen Sie arrayItem = arr?.[42]; Kurzschlussberechnung: lass potenziellNullObj = null; sei x = 0; let prop = potenziellNullObj?.[x++]; console.log(x); // x wird nicht erhöht und gibt weiterhin 0 aus //Wenn bei Verwendung optionaler Verkettung in einem Ausdruck der linke Operand null oder undefiniert ist, wird der Ausdruck nicht ausgewertet let customer = { Name: "haorooms", Details: { Alter: 82 } }; let customerCity = customer?.city ?? "Stadt"; console.log(Kundenstadt); // "China" Dies ist das Ende dieses Artikels über die Zusammenfassung ungewöhnlicher JS-Operationsoperatoren. Weitere relevante Inhalte zu JS-Operationsoperatoren finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Detaillierter Prozess zur Verwendung von Vscode in Kombination mit Docker für die Entwicklung
>>: CSS implementiert einen Popup-Fenstereffekt mit einer Maskenebene, die geschlossen werden kann
Für meine Arbeit habe ich im Internet viele Infor...
1. Bevor Sie die IP-Adresse konfigurieren, verwen...
Inhaltsverzeichnis 1 Was ist SSH 2 Konfigurieren ...
Dieser Artikel stellt den CSS-Bildlaufleistensele...
Vorwort Das ursprüngliche Projekt wurde im öffent...
Vorwort Die am häufigsten verwendete Datenbank in...
Das Löschen einer Tabelle in MySQL ist sehr einfa...
Vorwort: Vor Kurzem werde ich mit meinen Partnern...
In diesem Artikel wird der spezifische Code des P...
Hallo zusammen, ich bin Qiufeng. Vor Kurzem hat W...
Die Ausführungsreihenfolge der SQL-Abfrageanweisu...
Ich habe in letzter Zeit viel MySQL-bezogene Synt...
Vorwort : Heute wurde ich gefragt: „Haben Sie das ...
Download-Adresse: https://dev.mysql.com/downloads...
0. Hintergrund Hardware: Xiaomi Notebook Air 13/I...