Programowałem JS od paru lat i wciąż znajduję nowe skróty do robienia rzeczy. Zastanawiam się, czy jest ich więcej, o których nie wiem.Idiomy javascript do robienia zwykłych rzeczy
Oto skróty wiem o:
edycji: Zgadzam się, że należy generalnie nigdy robić te rzeczy, i że nie może być lepszy sposób, aby opisać to, aby były mniej szerokie, ale najlepiej mogę to opisać za pomocą przykładu.
Zamiast tego
if("foobar".indexOf("foo") > -1)
Czy ta
if(~"foobar".indexOf("foo"))
Zamiast tego
var foo = Math.floor(2.333)
Czy ta
var foo = ~~2.333
Zamiast tego
var foo = parseFloat("12.4")
var bar = parseInt("12", 10)
zrobić (nie wielkim fanem tego jednego)
var foo = +"12.4"
var bar = +"12"
Zamiast tego
if(isNaN(foo)
Czy ta
if(foo != foo)
Zamiast tego
(function(){ ... ])()
Czy ta
!function(){ ... }()
Konwersja nic do wartości logicznej przez poprzedzenie !!
var isFoo = !!foo
masz to, moja lista rzeczy do zrobienia nigdy do swoich współpracowników.
Czy można dodać coś jeszcze?
Jedyne skróty, których bym użył to "!!" i "+" 1 ". Reszta ma niezamierzone efekty uboczne (na przykład ~~~ 10000000000000 == 1316134912') lub po prostu wyglądają śmiesznie. – Blender
@mkoryak: Mówiłem więcej o operacjach bitowych, które zamieniają twoje liczby na 32-bitowe liczby całkowite ze znakiem. – Blender
@mkoryak, oprócz bycia "zbyt szerokim", należy użyć pola wyboru "Odpowiedz na własne pytanie" lub przenieść część odpowiedzi na odpowiedź. – FakeRainBrigand