Hier sind einige Juwelen:
Literale:
var obj = {}; // Object literal, equivalent to var obj = new Object();
var arr = []; // Array literal, equivalent to var arr = new Array();
var regex = /something/; // Regular expression literal, equivalent to var regex = new RegExp('something');
Standardeinstellungen:
arg = arg || 'default'; // if arg evaluates to false, use 'default', which is the same as:
arg = !!arg ? arg : 'default';
Natürlich kennen wir anonyme Funktionen, aber es ist großartig, sie als Literale behandeln und vor Ort (als Abschluss) ausführen zu können:
(function() { ... })(); // Creates an anonymous function and executes it
Frage: Welcher andere großartige syntaktische Zucker ist in Javascript verfügbar?
javascript
language-features
syntactic-sugar
Augenlidlosigkeit
quelle
quelle
Antworten:
Abrufen der aktuellen Datums- und Uhrzeitangabe in Millisekunden:
Zum Beispiel, um die Ausführung eines Codeabschnitts zeitlich festzulegen:
quelle
Objektmitgliedschaftstest:
quelle
In Mozilla (und angeblich IE7) können Sie eine XML-Konstante erstellen, indem Sie:
Sie können auch Variablen ersetzen:
quelle
Verwenden anonymer Funktionen und eines Abschlusses zum Erstellen einer privaten Variablen (Ausblenden von Informationen) und der zugehörigen Methoden zum Abrufen / Festlegen:
quelle
if(true) { let _privateVar=123; }
In der Lage sein, native JavaScript-Typen durch prototypische Vererbung zu erweitern.
quelle
Verwenden Sie
===
diese Option , um Wert und Typ zu vergleichen :quelle
$var1 = 'string'; $var2 = 'string'; $var1 === $var2; // true
, obwohl$var1
und$var2
nicht identisch sind (Verweise auf denselben gespeicherten Wert im Speicher), nur denselben Typ und denselben Wert.var1 = {a : 'b'}; var2 = {a : 'b'}; var1 === var2 // false
.Mehrzeilige Zeichenfolgen:
Da Sie die nachfolgenden Zeilen nicht einrücken können, ohne auch das Leerzeichen in die Zeichenfolge einzufügen, bevorzugen die Benutzer im Allgemeinen die Verkettung mit dem Plus-Operator. Dies bietet jedoch eine schöne Dokumentfunktion .
quelle
Ändern Sie die Länge eines Arrays
Die Eigenschaft length ist nicht schreibgeschützt . Sie können es verwenden, um die Größe eines Arrays zu erhöhen oder zu verringern.
quelle
push
für mich, hehe. Vielen Dank.Wiederholen Sie eine Zeichenfolge wie "-" eine bestimmte Anzahl von Malen, indem Sie die Join-Methode für ein leeres Array nutzen:
Ergibt "---" bei Wiederholung == 3.
quelle
Ist wie der Standardoperator
||
der Guard-Operator&&
.im Gegensatz zu
quelle
null
. Dies ist nur dann der Fall, wennobj === null
.Rückruf zum Ersetzen von Zeichenfolgen ist nur nützlich.
quelle
Getter und Setter :
Gibt uns:
quelle
Dies ist kein exklusives Javascript, sondern speichert wie drei Codezeilen:
quelle
Ein bisschen mehr zu Leviks Beispiel:
quelle
Das Array # forEach in Javascript 1.6
quelle
Nach obj || {default: true} Syntax:
Rufen Sie Ihre Funktion folgendermaßen auf: hello (requiredOne && requiredTwo && needThree) Wenn ein Parameter undefiniert oder falsch ist, wird hallo (false) aufgerufen, manchmal nützlich
quelle
In Parsing-Situationen mit einem festen Satz von Komponenten:
Sie können die Ergebnisse mithilfe der Synatx "Destrukturierungszuweisung" direkt Variablen zuordnen:
Welches ist ein bisschen besser lesbar als:
Abwechselnd:
Beachten Sie, dass dies eine Javascript 1.7- Funktion ist. Das sind also derzeit die Browser Mozilla 2.0+ und Chrome 6+.
quelle
SyntaxError: Unexpected token [
.Sofort aufgerufene Pfeilfunktion:
quelle
Ich habe vergessen:
quelle
Erstellen Sie ein anonymes Objektliteral mit einfach: ({})
Beispiel: Sie müssen wissen, ob Objekte die valueOf-Methode haben:
var hasValueOf = !! ({}). valueOf
Syntaktischer Bonuszucker: das Doppel-Nicht '!!' für die Umwandlung so ziemlich alles in einen Booleschen sehr prägnant.
quelle
Ich liebe es, einen JSON-String auswerten () und eine vollständig aufgefüllte Datenstruktur zurückerhalten zu können. Ich hasse es, alles mindestens zweimal schreiben zu müssen (einmal für IE, wieder für Mozilla).
quelle
Zuweisen der häufig verwendeten Schlüsselwörter (oder beliebiger Methoden) zu einfachen Variablen wie ths
quelle
this
Wert verloren geht. Stattdessen sollten Sie verwendendocument.getElementById.bind(document)
. Ohnebind
es wird lediglich dieHTMLDocument.prototype.getElementById
Funktion zugewiesen , ohne die Information, dass sie aufgerufen werden solldocument
.Die Date-Klasse von JavaScript bietet ein Semi "Fluent Interface". Dies gleicht aus, dass der Datumsanteil nicht direkt aus einer Datumsklasse extrahiert werden kann:
Es ist keine vollständig fließende Schnittstelle, da im Folgenden nur ein numerischer Wert angegeben wird, der eigentlich kein Datumsobjekt ist:
quelle
Standard-Fallback:
Ein praktisches Beispiel:
quelle
Hier ist eine, die ich gerade entdeckt habe: Nullprüfung vor dem Aufruf der Funktion:
Dies ist ein kürzeres Äquivalent zu:
Das Beste daran ist, dass Sie eine Immobilienkette überprüfen können:
quelle
Ich finde es toll, wie einfach es ist, mit Listen zu arbeiten:
Und Hashes:
In den meisten anderen Sprachen wäre dies ziemlich schwerer Code. Wertvorgaben sind auch sehr schön. Zum Beispiel Fehlercode-Berichterstattung:
quelle
int to string cast
quelle
Eine Verknüpfung zum Löschen aller untergeordneten Knoten eines Elements.
quelle
Konvertieren Sie eine Zeichenfolge in eine Ganzzahl, die standardmäßig auf 0 gesetzt ist, falls dies nicht möglich ist.
Kann in einigen Fällen nützlich sein, meistens wenn 0 als schlechtes Ergebnis angesehen wird
quelle
Vorlagenliterale
dann wird die Textvariable wie folgt sein!
quelle