Creative Saplings

Ero isNaN: n ja luvun.isNaN välillä

syyskuu 16, 2020
No Comments

Lähes kaikki tietävät, mikä ” ei ole ” ja miten sitä käytetään. Se tarkoittaa ”onko se asia, joka näyttää numerolta, todella numerolta vai ei?” Se palauttaa arvon tosi, jos annettu arvo on ”Ei luku”. Oletan, että sinulla on asia. Ok, nyt tässä on kauppa; mikä on ero isNaN: n ja Number.isNaN: n välillä?

Ennen kuin aloitan selittämisen, haluan kiittää ystäväni Rafaelia siitä, että hän kannusti minua kirjoittamaan.

Aloitetaan isNaN: stä. Tämä on globaali toiminto, johon voit soittaa kaikkialta. Katsotaanpa se toiminnassa:

const badDivision = 17 / "something"; // NaN
isNaN(badDivision); // true

Se on niin yksinkertaista, mutta on joitakin vääräohjauksia. Tässä on esimerkkejä:

Kuten isNaN: n mukaan näet, toteutus käsittelee merkkijonoa arvona ja palauttaa tuloksen tämän perusteella. Tarkista `isNaN (’blabla’)`

Joten mitä?

Joten ratkaistaksemme nämä väärinkäsitykset Staattinen Number.isNaN-menetelmä tulee EcmaScript 2015: n mukana # Number.isNaN
Mitä se tekee?

Minun tapauksessani minulla on menetelmä, joka hyväksyy kaksi parametria numerotyypiksi ja tekee animaatiota kohteen skaalauksessa esine. Jotenkin sen jälkeen, kun olen tehnyt vähän refraktointia, sain outoa käyttäytymistä. Kyllä, minun olisi pitänyt kirjoittaa yksikötestit, häpeä minua. Joissakin tapauksissa menetelmä saa määrittelemättömät parametrit. Joten minun on tarkistettava ne.

Kirjoitin tämän:

Huolimattomuuteni johtaa minut väärään logiikkaan. Koska Number.isNaN (määrittelemätön) palauttaa minut vääräksi. (vanha isNaN (määrittelemätön) palauttaa arvon tosi) Joten muutin näin:

function animate(targetScaleX, targetScaleY) {
if (!Number.isNaN(targetScaleX * targetScaleY)) {
return;
} // Do Animation
}

Joten se näyttää toimivan. Mutta halusin huolehtia kaikista mahdollisista epäonnistumisista. Ehkä saan nollan määrittelemättömän sijaan. Jos saan tyhjän, logiikkani epäonnistuu. Miksi?

null * null; // 0
null * 8 // 0

Luulen, että näet asian. Joten päivitin koodin näin:

Tavoitteenani oli tarkistaa kaksi arvoa määrittelemättömiksi tai nolliksi. Ja matkani päätyy kirjoittamaan artikkeli ja päivittämään tietoni. Toteutus ei ole hienoa, tiedän, mutta matka oli opettavainen.

Articles
Previous Post

Masennus voi saada sinut kuulemaan ääniä

Next Post

nälkäinen vuorikiipeilijä

Vastaa Peruuta vastaus

Viimeisimmät artikkelit

  • Maailman parhaat valokuvauskoulut, 2020
  • Suvereenit kansalaiset vievät hallitustenvastaisen filosofiansa tielle
  • Stukkokorjauskustannusten opas
  • Muckrakers (Suomi)
  • Tarkka onkologia

Arkistot

  • helmikuu 2021
  • tammikuu 2021
  • joulukuu 2020
  • marraskuu 2020
  • lokakuu 2020
  • syyskuu 2020
  • Deutsch
  • Nederlands
  • Svenska
  • Norsk
  • Dansk
  • Español
  • Français
  • Português
  • Italiano
  • Română
  • Polski
  • Čeština
  • Magyar
  • Suomi
  • 日本語
  • 한국어
Proudly powered by WordPress | Theme: Fmi by Forrss.