మాడ్యూల్ పాఠాలు (4/4)
టైప్ మార్పిడులు
మీరు విలువ యొక్క రకాన్ని ** మార్చడానికి అన్ని సమయాలలో అవసరం: value
HTML ఇన్పుట్ ఒక సంఖ్య, APIని సూచించినప్పటికీ స్ట్రింగ్గా వస్తుంది
స్ట్రింగ్లను ఫార్మాట్కు అందిస్తుంది, మీరు ఒక వస్తువును టెక్స్ట్గా లాగ్ చేయాలి. JS ఆఫర్లు
మార్పిడుల యొక్క మూడు కుటుంబాలు: స్పష్టమైన, అంకితమైన పార్సర్లు మరియు (ఉండాలి
నివారించబడినవి) అవ్యక్తమైనవి.
స్పష్టమైన మార్పిడులు
ఇవి చాలా స్పష్టమైనవి మరియు మీ డిఫాల్ట్గా ఉండాలి:
Number('42'); // 42
Number('3.14'); // 3.14
Number(''); // 0 ← careful
Number(' 10 '); // 10 (spaces are ignored)
Number('ciao'); // NaN ← does not represent a number
String(42); // '42'
String(true); // 'true'
String(null); // 'null'
String(undefined); // 'undefined'
Boolean(1); // true
Boolean(0); // false
Boolean(''); // false
Boolean('abc'); // trueparseInt మరియు parseFloat: సహించే పార్సర్లు
Number(...) కాకుండా, parseInt మరియు parseFloat సంఖ్యేతర వాటిని విస్మరించండి
స్ట్రింగ్ యొక్క tail: అవి మొదటి చెల్లని అక్షరం వద్ద ఆగిపోతాయి.
Number('42px'); // NaN
parseInt('42px'); // 42
parseFloat('3.14em'); // 3.14
parseInt(' 12 anni'); // 12
parseInt('ciao12'); // NaN ← must start with digitsసంఖ్యలను స్ట్రింగ్లుగా ఫార్మాట్ చేయడానికి toFixed
మునుపటి పాఠంలో క్లుప్తంగా చూసింది: N దశాంశాలకు రౌండ్లు మరియు రిటర్న్స్ a ** స్ట్రింగ్**.
(3.14159).toFixed(2); // '3.14'
(1).toFixed(2); // '1.00'దాన్ని తిరిగి numberకి మార్చడానికి Number(...) ఉపసర్గ లేదా unaryని ఉపయోగించండి
+:
Number((3.14159).toFixed(2)); // 3.14
+(3.14159).toFixed(2); // 3.14NaN: కొరికే విలువ
NaN ("సంఖ్య కాదు") విఫలమయ్యే సంఖ్యా కార్యకలాపాల ద్వారా ఉత్పత్తి చేయబడింది:
Number('ciao'); // NaN
0 / 0; // NaN
parseInt('xxx'); // NaNలక్షణాలు:
- ఇది
'number'రకాన్ని కలిగి ఉంది (అవును, "సంఖ్య కానిది" అనేది ఒక సంఖ్య) - ఇది దానితో సమానం కాదు:
NaN === NaNfalse - దీన్ని పరీక్షించడానికి
Number.isNaN(x)ఫంక్షన్ని ఉపయోగించండి
const x = Number('ciao');
x === NaN; // false (!)
Number.isNaN(x); // trueదీనిని ప్రయత్నించండి
'128.95 EUR' స్ట్రింగ్ను అందించి, (దశాంశం) సంఖ్యను సంగ్రహించి, దానిని సమీప పూర్ణాంకానికి రౌండ్ చేయండి, దాన్ని సంఖ్యగా చూపండి. అంచనా: 129.
సూచనను చూపించు
parseFloat 'EUR'ని విస్మరిస్తుంది; .toFixed(0) పూర్ణాంకానికి స్ట్రింగ్గా రౌండ్లు; సంఖ్య(...) తిరిగి సంఖ్యగా మారుస్తుంది.
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది
వ్యాయామం సమీక్షించండి
`n = Number('non un numero')` ఇచ్చిన, ఫలితం NaN అయితే ఒప్పు అని మూల్యాంకనం చేసే ఒకే వ్యక్తీకరణను వ్రాయండి.
సూచనను చూపించు
Number.isNaNని ఉపయోగించండి, n === NaN కాదు: NaN దానికదే సమానం కాదు.
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది