Rumah >hujung hadapan web >tutorial js >Minggu ini Javascript 2

Minggu ini Javascript 2

Patricia Arquette
Patricia Arquetteasal
2024-11-30 07:40:16441semak imbas

This week Javascript 2

JavaScript terus berkembang. Kemas kini penting terkini, ECMAScript 2023 (ES14), telah dikeluarkan pada Jun 2023. Kemas kini ini memperkenalkan beberapa ciri baharu yang meningkatkan fungsi bahasa dan meningkatkan kecekapan pembangun.

Ciri Utama ECMAScript 2023

1. Tahap Atas Menunggu
Pengenalan menunggu peringkat atas membenarkan pembangun menggunakan kata kunci await di peringkat atas modul, memudahkan kod tak segerak tanpa perlu membungkusnya dalam fungsi tak segerak.

// Using top-level await
const data = await fetch('https://api.example.com/data');
const jsonData = await data.json();
console.log(jsonData);

2. Kaedah Tatasusunan Baharu
ECMAScript 2023 menambah beberapa kaedah baharu untuk manipulasi tatasusunan yang tidak memutasi tatasusunan asal:

  • toSorted(): Mengembalikan tatasusunan diisih baharu.
  • toReversed(): Mengembalikan tatasusunan baharu dengan elemen dalam susunan terbalik.
  • toSpliced(): Mengembalikan tatasusunan baharu dengan elemen dialih keluar atau ditambah tanpa mengubah yang asal.

Contoh:

const numbers = [3, 1, 4, 1, 5];

// Using toSorted
const sortedNumbers = numbers.toSorted();
console.log(sortedNumbers); // [1, 1, 3, 4, 5]

// Using toReversed
const reversedNumbers = numbers.toReversed();
console.log(reversedNumbers); // [5, 1, 4, 1, 3]

// Using toSpliced
const splicedNumbers = numbers.toSpliced(1, 2); // Remove two elements starting from index 1
console.log(splicedNumbers); // [3, 5]

3. findLast() dan findLastIndex()
Kaedah ini membolehkan anda mencari elemen atau indeks terakhir yang memenuhi syarat tertentu tanpa perlu membalikkan tatasusunan terlebih dahulu.

Contoh:

const numbers = [5, 12, 50, 130, 44];

// Using findLast
const lastGreaterThan40 = numbers.findLast(num => num > 40);
console.log(lastGreaterThan40); // 130

// Using findLastIndex
const lastIndexGreaterThan40 = numbers.findLastIndex(num => num > 40);
console.log(lastIndexGreaterThan40); // 3 (index of 130)

4. API Indeks Padanan RegExp
Ciri ini meningkatkan ungkapan biasa dengan menyediakan indeks permulaan dan tamat padanan dalam rentetan.

Contoh:

const regex = /(foo)/g;
const str = 'foo bar foo baz';
const matches = [...str.matchAll(regex)];

for (const match of matches) {
    console.log(`Match: ${match[0]}, Indices: ${match.indices[0]}`);
}
// Output:
// Match: foo, Indices: [0, 3]
// Match: foo, Indices: [10, 13]

5. Sambungan Punca Ralat
Ciri ini membolehkan pembangun menyediakan konteks tambahan apabila membuang ralat dengan melampirkan sifat sebab.

Contoh:

try {
    throw new Error('Something went wrong', { cause: 'Invalid input' });
} catch (error) {
    console.error(error.message); // Something went wrong
    console.error(error.cause); // Invalid Input
}

Melihat Ke Hadapan: ECMAScript 2024
Semasa kita melihat ke arah ECMAScript 2024 (ES15), ciri yang dijangkakan termasuk:

  • API sementara untuk pengendalian tarikh dan masa yang dipertingkatkan.
  • API Realms untuk keselamatan dan pengasingan yang lebih baik dalam persekitaran JavaScript.
  • Struktur Data Tidak Berubah seperti Rekod dan Tuple.
  • Padanan Corak Terperinci untuk carian data yang lebih cekap.
  • Sintaks Penghias untuk mempertingkatkan kelas dan kaedah.

Ciri yang akan datang ini bertujuan untuk menyelaraskan lagi proses pembangunan dan meningkatkan kejelasan dan keselamatan kod.

Untuk meringkaskan, ECMAScript 2023 membawa peningkatan ketara yang meningkatkan cara pembangun berinteraksi dengan tatasusunan, mengendalikan operasi tak segerak, mengurus ralat dan berfungsi dengan ungkapan biasa.

Atas ialah kandungan terperinci Minggu ini Javascript 2. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn