Сандар, математика жана кокустук
JavaScript чын эле кантип эсептээрин түшүнөбүз, сандар менен байланышкан классикалык каталарды айланып өтөбүз жана кызыктуу табышмак оюнун жазабыз.
- JavaScript-те эмне үчүн бир гана сан түрү бар экенин түшүндүрө аласыз,
0.1 + 0.2эмне үчүн так0.3болбой турганын түшүнөсүз,- сандарды коопсуз тегеректеп, акча менен катасыз иштей аласыз,
NaNдегенди тааныйсыз жана аны туура текшересиз,Mathобъектин колдонуп, диапазондо кокус сандарды жаратасыз,- булардын баарын сан табышмак оюнунда чогултасыз.
Баарына бир эле сан түрү
Көптөгөн тилдерде сандардын эки өзүнчө түрү бар: бүтүн сандар (мисалы 7) жана калкыма чекиттүү сандар (ондуктар, мисалы 3.14). Node иштеген JavaScript сыртынан баарын жөнөкөйлөтөт: сан түрү бир гана - ал number деп аталат. 7 же 3.14 деп жазсаңыз да, Node экөөнү тең бирдей түрдөгү маани катары сактайт - 64 биттик калкыма чекиттүү сан.
Салыштыруу. Каалаган узундукту өлчөй турган, бирок эң майда бөлүнүштөрү кичинекей туруктуу кадамдар болгон сызгычты элестетиңиз. Бүтүн сантиметрлер так бөлүнүшкө туура келет, ошондуктан алар кынтыксыз так. Ал эми "сантиметрдин үчтөн бири" деген узундук эки бөлүнүштүн ортосуна түшөт, ошондуктан сызгыч эң жакынкысын тандашы керек - жакын, бирок так эмес. JavaScript сандары да ушундай: абдан чоң маанилерге чейинки бүтүн сандар так, бирок көп бөлчөктөр эң жакынкы жеткиликтүү маани катары гана сакталат.
Каалаган маанинин түрүн typeof оператору менен текшере аласыз:
typeof 7 // "number"
typeof 3.14 // "number"
typeof -0.5 // "number"
Үчөө тең бир эле түр. Өзүнчө "int" же "float" жок - number гана. Бул башталгычтар үчүн кодду жөнөкөйлөтөт, бирок кийинки кездешчү сюрприздер дал ушундан келип чыгат.