To je opravdu rychlé. Seděl jsem v přednášce Jeffa Strausse v KCDC na ES2017 a on zmínil malý detail o Array
Dříve mě to nenapadlo.
Řekněme, že máte pole s několika různými typy, jako je ['foo', 123, true, undefined, NaN]
. Nyní můžete zjistit, zda jsou tyto hodnoty zahrnuty v poli pomocí indexOf
a zkontroluje, zda vrací -1
, že jo? No... :D
To funguje dobře pro všechny hodnoty kromě NaN
protože NaN === NaN
se vyhodnotí jako false
.
['foo', 123, true, undefined, NaN].indexOf(NaN) // -1
Array
opravuje toto chování. 🎉
['foo', 123, true, undefined, NaN].includes(NaN) // true