ECMAScript 2022
JavaScript 版本号
旧的 ECMAScript 版本以数字命名:ES5 和 ES6。
从 2016 年开始,版本以年份命名:ES2016、2018、2020、2022。
ES2022 的新特性
警告:
这些特性相对较新。
旧版浏览器可能需要替代代码(Polyfill)。
JavaScript Array at()
ES2022 引入了数组方法 at()
:
ఉదాహరణ 1
获取 fruits 数组的第三个元素:
const fruits = ["Banana", "Orange", "Apple", "Mango"]; let fruit = fruits.at(2);
ఉదాహరణ 2
获取 fruits 数组的第三个元素:
const fruits = ["Banana", "Orange", "Apple", "Mango"]; let fruit = fruits[2];
at()
方法从数组中返回指定索引的元素。
at()
方法与 []
తిరిగి వచ్చే ఫలితం ఒకేది
2022 మార్చి నుండి, అన్ని ఆధునిక బ్రౌజర్లలో మద్దతు ఉంది at()
పద్ధతి:
చ్రోమ్ | ఎడ్జ్ | ఫైర్ఫాక్స్ | సఫారీ | ఓపెరా |
---|---|---|---|---|
క్రోమ్ 92 | ఎడ్జ్ 92 | ఫైర్ఫాక్స్ 90 | సఫారీ 15.4 | ఆపెరా 78 |
2021 సంవత్సరం 4 నెల | 2021 జులై | 2021 జులై | 2022 మార్చి | 2021 ఆగస్టు |
注意:
许多语言允许使用负索引(如 [-1]
పద్ధతి ద్వారా వస్తువులను/పేరులిస్తారు/స్ట్రింగ్ చివరి అంశాన్ని పొందండి.
ఈ విధంగా జావాస్క్రిప్ట్ లో అది అసాధ్యం కావచ్చు ఎందుకంటే []
అనువర్తించబడుతుంది మరియు వస్తువులను పరిగణించబడుతుంది. obj[-1] మూలకం -1 యొక్క విలువను సూచిస్తుంది, మరియు వస్తువు యొక్క చివరి లక్షణము కాదు.
at()
ఈ సమస్యను పరిష్కరించడానికి మెథడ్స్ను ES2022 లో ప్రవేశపెట్టబడింది.
JavaScript String at()
ES2022 స్ట్రింగ్ మెథడ్స్ ప్రవేశపెట్టింది at()
:
ఉదాహరణ 1
పొందండి name స్ట్రింగ్ మూడవ అక్షరంగాను:
const name = "W3Schools"; let letter = name.at(2);
ఉదాహరణ 2
పొందండి name స్ట్రింగ్ మూడవ అక్షరంగాను:
const name = "W3Schools"; let letter = name[2];
at()
方法从字符串中返回指定索引的字符。
at()
方法与 []
తిరిగి వచ్చే ఫలితం ఒకేది
2022 మార్చి నుండి, అన్ని ఆధునిక బ్రౌజర్లలో మద్దతు ఉంది at()
పద్ధతి:
చ్రోమ్ | ఎడ్జ్ | ఫైర్ఫాక్స్ | సఫారీ | ఓపెరా |
---|---|---|---|---|
క్రోమ్ 92 | ఎడ్జ్ 92 | ఫైర్ఫాక్స్ 90 | సఫారీ 15.4 | ఆపెరా 78 |
2021 సంవత్సరం 4 నెల | 2021 జులై | 2021 జులై | 2022 మార్చి | 2021 ఆగస్టు |
రెగెక్స్ d అడగబడిన పదం
ES2022 ద్వారా జోడించబడింది /d
అడగబడిన పదం, మ్యాచ్ ప్రారంభం మరియు ముగింపు నిర్దేశించడానికి ఉపయోగించబడుతుంది.
ఇన్స్టాన్స్
లెట్ టెక్స్ట్ = "aaaabb"; లెట్ రెజ్లుట్ = టెక్స్ట్.మ్యాచ్(/(aa)(bb)/d);
రెగెక్స్ అడగబడిన పదం అనేది క్షుద్ర అక్షరాలను వేరుచేయకుండా మ్యాచ్ చేయడానికి మరియు ఇతర గ్లోబల్ శోధనలకు వినియోగించబడుతుంది:
అడగబడిన పదం | వివరణ | ప్రయత్నించండి |
---|---|---|
g | గ్లోబల్ మ్యాచ్ చేయండి (అన్నిటినీ కనుగొనుట). | ప్రయత్నించండి |
i | క్షుద్ర అక్షరాలను వేరుచేయకుండా మ్యాచ్ చేయండి. | ప్రయత్నించండి |
d | క్షుద్ర పదం మ్యాచ్ చేయండి (ES2022 నూతనం). | ప్రయత్నించండి |
m | బహుళ పంక్తి మ్యాచ్ చేయండి. | ప్రయత్నించండి |
ఆబ్జెక్ట్.హాస్ ఓవన్()
ES2022 ద్వారా అనునికి సురక్షితమైన మార్గం అందిస్తుంది అనేది అనుని స్వంత లక్షణం ఉంది పరిశీలించడానికి.
ఆబ్జెక్ట్.హాస్ ఓవన్()
వంటి ఆబ్జెక్ట్.ప్రొటోటైప్.హాస్ ఓవన్ ప్రొపర్టీ
కానీ అన్ని ఆబ్జెక్ట్ రకాలను మద్దతు చేస్తుంది.
ఇన్స్టాన్స్
ఆబ్జెక్ట్.హాస్ ఓవన్(మైఓబ్జెక్ట్, ఏజ్)
ఎరర్ కారణం
ES2022 ద్వారా ఎరర్.కారణం ద్వారా దోషపూరిత కారణాన్ని నిర్దేశించవచ్చు.
ఇన్స్టాన్స్
ట్రీ { కనెక్ట్ డాటా(); క్యాచ్ (ఎర్ర్) { థ్రో న్యూ ఎరర్("కనెక్టింగ్ ఫేలుదలు", { కారణం: ఎర్ర్ }); }
జావాస్క్రిప్ట్ ఎయిట్ ఇంపోర్ట్
జావాస్క్రిప్ట్ మాడ్యూల్స్ ఇప్పుడు ప్రవేశం ముందు అవసరమైన సంకేతాలను వెంటాడు చేయవచ్చు:
ఇంపోర్ట్ {మైడాటా} ను './మైడాటా.జెఎస్'; నుండి కాంస్ట్ డాటా = ఎయిట్ మైడాటా();
జావాస్క్రిప్ట్ క్లాస్ ఫీల్డ్ డేక్లరేషన్
class Hello { కంటర్ = 0; // క్లాస్ ఫీల్డ్ } const myClass = new Hello(); లెట్ x = మైక్లాస్.కంటర్;
2021 ఏప్రిల్ 4 నుండి, అన్ని ఆధునిక బ్రౌజర్లలో క్లాస్ ఫీల్డ్ డేక్లరేషన్లు మద్దతు ఉన్నాయి:
చ్రోమ్ | ఎడ్జ్ | ఫైర్ఫాక్స్ | సఫారీ | ఓపెరా |
---|---|---|---|---|
క్రోమ్ 72 | ఎడ్జ్ 79 | ఫైర్ఫాక్స్ 69 | సఫారీ 14.1 | ఆపెరా 60 |
2019 సంవత్సరం 1 నెల | 2020 సంవత్సరం 1 నెల | 2019 సంవత్సరం 9 నెల | 2021 సంవత్సరం 4 నెల | 2020 సంవత్సరం 1 నెల |
JavaScript 私有方法和字段
class Hello { #counter = 0; // 私有字段 #myMethod() {} // 私有方法 } const myClass = new Hello(); let x = myClass.#counter; // 错误 myClass.#myMethod(); // 错误
2021 సంవత్సరం 6 నెల నుండి అన్ని ఆధునిక బ్రౌజర్లలో ప్రైవేట్ మెటడ్స్ మరియు ఫీల్డ్స్ మద్దతు ఉంది:
చ్రోమ్ | ఎడ్జ్ | ఫైర్ఫాక్స్ | సఫారీ | ఓపెరా |
---|---|---|---|---|
చ్రోమ్ 74 | ఎడ్జ్ 79 | ఫైర్ఫాక్స్ 90 | సఫారీ 14.1 | ఓపెరా 62 |
2019 సంవత్సరం 4 నెల | 2020 సంవత్సరం 1 నెల | 2021 సంవత్సరం 6 నెల | 2021 సంవత్సరం 4 నెల | 2019 సంవత్సరం 6 నెల |