ECMAScript 2022
Versyon ng JavaScript
Ang lumang bersyon ng ECMAScript ay pinangalanan ng numero: ES5 at ES6.
Simula noong 2016, ang bersyon ay pinangalanan ng taon: ES2016, 2018, 2020, 2022.
Ang bagong katangian ng ES2022
- Array at()
- String at()
- RegExp /d
- Object.hasOwn()
- error.cause
- await import
- Class field declaration
- Private methods at fields
Babala:
Ang mga katangian na ito ay napakabagong laman.
Ang lumang browser ay maaring mangailangan ng kapalit na code (Polyfill).
JavaScript Array at()
Ang ES2022 ay nagpalabas ng mga array method at()
:
Halimbawa 1
Hinihigayon ang ikatlong elemento ng array na 'fruits':
const fruits = ["Banana", "Orange", "Apple", "Mango"]; let fruit = fruits.at(2);
Halimbawa 2
Hinihigayon ang ikatlong elemento ng array na 'fruits':
const fruits = ["Banana", "Orange", "Apple", "Mango"]; let fruit = fruits[2];
at()
Ang method ay ibabalik ng array ang elemento na nasa ilalim ng tinukoy na index.
at()
វិធីសាស្រ្តជាមួយ []
លទ្ធផលដែលត្រូវបានបញ្ចេញដូចគ្នា。
ចាប់តាំងពីខែ 3 ឆ្នាំ 2022 ទៅ ការគាំទ្រនៅក្នុងអ្នកតាមដានបច្ចុប្បន្នទាំងអស់គ្នា: at()
វិធីសាស្រ្ត:
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 92 | Edge 92 | Firefox 90 | Safari 15.4 | Opera 78 |
April 2021 | ខែ 7 ឆ្នាំ 2021 | ខែ 7 ឆ្នាំ 2021 | ខែ 3 ឆ្នាំ 2022 | ខែ 8 ឆ្នាំ 2021 |
Babala:
Maraming wika ang pinapayagan ang paggamit ng nag-iisa na index ( tulad ng [-1]
)Access object/array/string sa huling elemento.
Ito ay hindi maisasagawa sa JavaScript dahil []
Ginagamit upang ma-access ang array at object. Ang obj[-1] ay tumutukoy sa halaga ng key -1, hindi ng huling attribute ng object.
at()
Ang method ay nagpalabas sa ES2022 upang malutas ang problema na ito.
JavaScript String at()
Ang ES2022 ay nagpalabas ng mga string method at()
:
Halimbawa 1
Hinihigayon ang ikatlong titik ng string na 'name':
const name = "W3Schools"; let letter = name.at(2);
Halimbawa 2
Hinihigayon ang ikatlong titik ng string na 'name':
const name = "W3Schools"; let letter = name[2];
at()
វិធីសាស្រ្តគឺត្រូវបានប្រើសំរាប់ផ្តល់អត្ថប្រយោជន៍ដែលត្រូវការពីខ្សែអត្ថប្រយោជន៍ក្នុងការបញ្ចេញពីរក្សាសញ្ញា។
at()
វិធីសាស្រ្តជាមួយ []
លទ្ធផលដែលត្រូវបានបញ្ចេញដូចគ្នា。
ចាប់តាំងពីខែ 3 ឆ្នាំ 2022 ទៅ ការគាំទ្រនៅក្នុងអ្នកតាមដានបច្ចុប្បន្នទាំងអស់គ្នា: at()
វិធីសាស្រ្ត:
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 92 | Edge 92 | Firefox 90 | Safari 15.4 | Opera 78 |
April 2021 | ខែ 7 ឆ្នាំ 2021 | ខែ 7 ឆ្នាំ 2021 | ខែ 3 ឆ្នាំ 2022 | ខែ 8 ឆ្នាំ 2021 |
RegExp d អត្តសញ្ញាណ
ES2022 បានបន្ថែម /d
អត្តសញ្ញាណ ត្រូវបានប្រើសំរាប់ការបញ្ជាក់ពីការចាប់ផ្តើម និងការបញ្ចប់នៃការតាមដាន。
ឧទ្ទាម
let text = "aaaabb"; let result = text.match(/(aa)(bb)/d);
RegExp អត្តសញ្ញាណគឺត្រូវបានប្រើសំរាប់កំណត់ការមិនចាត់ទុកឈ្មោះធំ/តូច និងការស្វែងរកសាធារណៈផ្សេងទៀត:
អត្តសញ្ញាណ | ការពន្យល់ | ព្យាយាមតាមដោយខ្លួនឯង |
---|---|---|
g | ធ្វើការតាមដានជាសាធារណៈ(ស្វែងរកទាំងអស់)。 | ព្យាយាមតាមដោយខ្លួនឯង |
i | ធ្វើការតាមដានដោយមិនចាត់ទុកឈ្មោះធំ/តូច | ព្យាយាមតាមដោយខ្លួនឯង |
d | ធ្វើការតាមដានជាអនុចរសម្រាប់(ES2022 ថ្មី)。 | ព្យាយាមតាមដោយខ្លួនឯង |
m | ធ្វើការតាមដានជាបន្តបន្ទាប់ | ព្យាយាមតាមដោយខ្លួនឯង |
Object.hasOwn()
ES2022 ផ្តល់នូវវិធីសាស្រ្តមួយដែលមានសុវត្ថិភាពក្នុងការត្រួតពិនិត្យថាតើអត្ថប្រយោជន៍គឺជាអត្ថប្រយោជន៍ដែលមានរបស់វត្ថុ។
Object.hasOwn()
ដូចគ្នានឹង Object.prototype.hasOwnProperty
,ប៉ុន្តែគាំទ្រប្រភេទវត្ថុគ្រប់ប្រភេទ。
ឧទ្ទាម
Object.hasOwn(myObject, age)
Error Cause
ES2022 អនុញ្ញាតអោយកំណត់មូលហេតុចម្រង់នៃកំហុសតាមរយៈ error.cause。
ឧទ្ទាម
connectData(); catch (err) { } throw new Error("Connecting failed.", { cause: err }); }
JavaScript await import
JavaScript ម៉ូឌីយ៉ូគួរត្រូវរងចាំមុនពេលដែលចាប់ផ្តើមដំណើរការ:
import {myData} from './myData.js'; const data = await myData();
JavaScript បញ្ជីប្រភេទ
class Hello { counter = 0; // បញ្ជីប្រភេទ } const myClass = new Hello(); let x = myClass.counter;
ចាប់តាំងពីខែមេសា 2021 ទៅ ការគាំទ្រនៃបញ្ជីប្រភេទនៅក្នុងអ្នកតាមដានបច្ចុប្បន្នគ្រប់គ្រាន់ទាំងអស់គ្នា:
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 72 | Edge 79 | Firefox 69 | Safari 14.1 | Opera 60 |
2019 ខែ 1 | January 2020 | 2019 ខែ 9 | April 2021 | January 2020 |
JavaScript Private Methods and Fields
class Hello { #counter = 0; // Private Field #myMethod() {} // Private Method } const myClass = new Hello(); let x = myClass.#counter; // Error myClass.#myMethod(); // Error
Starting from June 2021, private methods and fields are supported in all modern browsers:
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 74 | Edge 79 | Firefox 90 | Safari 14.1 | Opera 62 |
April 2019 | January 2020 | June 2021 | April 2021 | June 2019 |