Ich habe JS für eine Reihe von Jahren programmiert und ich finde immer noch neue Verknüpfungen für Dinge zu tun. Ich frage mich, ob es mehr gibt, von denen ich nichts weiß.JavaScript-Idiome für gemeinsame Dinge
Hier sind die Abkürzungen, die ich kennen:
bearbeiten: Ich bin damit einverstanden, dass Sie das Zeug der Regel nie tun sollten, und dass es könnte ein besserer Weg, es zu beschreiben, wie weniger breit zu sein, aber die Ich kann es am besten beschreiben.
Statt dieser
if("foobar".indexOf("foo") > -1)
Tun Sie dies
if(~"foobar".indexOf("foo"))
Statt dieser
var foo = Math.floor(2.333)
dies tun
var foo = ~~2.333
Statt dessen
var foo = parseFloat("12.4")
var bar = parseInt("12", 10)
Tun Sie dies (nicht großer Fan von diesem)
var foo = +"12.4"
var bar = +"12"
Statt dessen
if(isNaN(foo)
Tun Sie dies
if(foo != foo)
Statt dieser
(function(){ ... ])()
Tun Sie dies
!function(){ ... }()
alles zu einem boolean Konvertieren von meiner Liste der Dinge voran es mit !!
var isFoo = !!foo
Da haben Sie es, nie auf Ihre Mitarbeiter zu tun.
Kann hier noch etwas hinzugefügt werden?
Die einzigen Verknüpfungen, die ich tatsächlich verwenden würde, sind '!!' und '+" 1 "'. Der Rest hat unbeabsichtigte Nebenwirkungen (zum Beispiel "~~ 10000000000000 == 1316134912") oder einfach nur komisch aussehen. – Blender
@mkoryak: Ich habe mehr über die bitweisen Operationen gesprochen, die Ihre Zahlen in vorzeichenbehaftete 32-Bit-Ganzzahlen konvertieren werden. – Blender
@mkoryak, neben "zu breit", sollten Sie das Kontrollkästchen "Eigene Frage beantworten", oder verschieben Sie den Antwortteil zu einer Antwort. – FakeRainBrigand