ECMAScript 2021
జావాస్క్రిప్ట్ వెర్షన్ సంఖ్య
పాత JS వెర్షన్లు సంఖ్యలతో పేరు పెట్టబడ్డాయి: ES5 (2009) మరియు ES6 (2015).
2016 నుండి సంవత్సరాల పేరులతో వెర్షన్లు పేరు పెట్టబడ్డాయి: ECMAScript 2016, 2017, 2018, 2019, ...
కొత్త లక్షణాలు
ES2021 లో కొత్త లక్షణాలు:
- Promise.any()
- పదబంధం మందిరికి replaceAll() మందిరికి
- సంఖ్యల విభజక సూచకం (_)
ES2022 లో కొత్త లక్షణాలు:
- ప్రత్యామ్నాయ పేరు మందిరికి at() మందిరికి
- పదబంధం మందిరికి at() మందిరికి
- ప్రత్యామ్నాయ పేరు /d
- Object.hasOwn()
- error.cause
- await import
- ప్రైవేట్ మెథడ్స్ మరియు ఫీల్డ్స్
- క్లాస్ ఫీల్డ్ డిక్లరేషన్
అపాయం
ఈ లక్షణాలు ప్రత్యేకంగా కొత్తవి.
పాత బ్రౌజర్లకు ప్రత్యామ్నాయ కోడ్ (Polyfill) అవసరం ఉంటుంది
జావాస్క్రిప్ట్ పదబంధం మందిరికి ReplaceAll()
ES2021 లో పదబంధం మందిరికి replaceAll() ప్రవేశపెట్టబడింది:
ఇన్స్టాన్స్
text = text.replaceAll("Cats","Dogs"); text = text.replaceAll("cats","dogs");
replaceAll() మందిరికి మీరు ప్రత్యామ్నాయ పేరు బదులుగా ప్రత్యేకంగా ప్రత్యామ్నాయ పేరు నిర్దేశించవచ్చు.
పారామీటర్ ప్రత్యేకంగా ప్రత్యామ్నాయ పేరు ఉంటే సర్వసమాంతర సూచకం అవసరం ఉంటుంది (g
అని లేక టైప్ ఎరర్ అవుతుంది。
ఇన్స్టాన్స్
text = text.replaceAll(/Cats/g,"Dogs"); text = text.replaceAll(/cats/g,"dogs");
提示:ES2020 引入了字符串方法 matchAll()。
JavaScript 数字分隔符 (_)
ES2021 引入了数字分隔符 (_
) 以使数字更具可读性:
ఇన్స్టాన్స్
const num = 1_000_000_000;
数字分隔符仅供视觉使用。
ఇన్స్టాన్స్
const num1 = 1_000_000_000; const num2 = 1000000000; (num1 === num2);
数字分隔符可以放在数字中的任何位置:
ఇన్స్టాన్స్
const num1 = 1_2_3_4_5;
గమనిక
నంబర్ డిస్క్రిమినేటర్స్ నంబర్ మొదలు లేదా ముగింపు వద్ద కనిపించరాదు.
జావాస్క్రిప్ట్ లో, మాత్రమేవేరియబుల్స్అక్షరం _ తో మొదలవుతుంది.
2020 సంవత్సరం 1 నెల నుండి, అన్ని ఆధునిక బ్రౌజర్లు నంబర్ డిస్క్రిమినేటర్స్ ను మద్దతు ఇస్తాయి:
క్రోమ్ | ఎడ్జ్ | ఫైర్ఫాక్స్ | సఫారీ | ఓపెరా |
---|---|---|---|---|
క్రోమ్ 75 | ఎడ్జ్ 79 | ఫైర్ఫాక్స్ 74 | సఫారీ 13.1 | ఓపెరా 67 |
2019 సంవత్సరం 6 నెల | 2020 సంవత్సరం 1 నెల | 2019 సంవత్సరం 10 నెల | 2019 సంవత్సరం 9 నెల | 2019 సంవత్సరం 6 నెల |