Ho programmato JS per un sacco di anni e sto ancora trovando nuove scorciatoie per fare le cose. Mi chiedo se ce ne siano altre che non so.idiomi javascript per fare cose comuni
Qui ci sono i tasti di scelta rapida che so di:
Edit: Sono d'accordo che si dovrebbe generalmente non fare questa roba, e che ci potrebbe essere un modo migliore per descriverlo da essere meno ampio, ma la il meglio che posso fare è descriverlo con l'esempio.
Invece di questo
if("foobar".indexOf("foo") > -1)
fare questo
if(~"foobar".indexOf("foo"))
Invece di questo
var foo = Math.floor(2.333)
fare questo
var foo = ~~2.333
Invece di questo
var foo = parseFloat("12.4")
var bar = parseInt("12", 10)
Fare questo (non grande fan di questo)
var foo = +"12.4"
var bar = +"12"
Invece di questo
if(isNaN(foo)
fare questo
if(foo != foo)
Invece di questo
(function(){ ... ])()
fare questo
!function(){ ... }()
convertire qualsiasi cosa per un valore booleano da prefisso con !!
var isFoo = !!foo
gioco è fatto, la mia lista di cose da non fare per i vostri colleghi.
È possibile aggiungere qualcos'altro qui?
Le uniche scorciatoie che effettivamente utilizzerei sono '!!' e '+" 1 "'. Il resto ha effetti collaterali indesiderati ('~~ 10000000000000 == 1316134912', per esempio) o semplicemente sembra divertente. – Blender
@mkoryak: stavo parlando più delle operazioni bit a bit, che convertono i tuoi numeri in interi a 32 bit con segno. – Blender
@mkoryak, oltre ad essere "troppo ampio", è necessario utilizzare la casella di controllo "Rispondi alla propria domanda" o spostare la parte risposta su una risposta. – FakeRainBrigand