Rumah > hujung hadapan web > tutorial js > Keupayaan JavaScript yang mungkin tidak anda ketahui. Bahagian 1

Keupayaan JavaScript yang mungkin tidak anda ketahui. Bahagian 1

Mary-Kate Olsen
Lepaskan: 2025-01-25 20:31:12
asal
912 orang telah melayarinya

JavaScript capabilities you might not know about. Part 1

Artikel ini akan berkongsi beberapa kemahiran JavaScript untuk membantu anda memahami dengan lebih baik kehalusan bahasa ini dan meningkatkan kod anda. Artikel ini terutamanya untuk pemaju junior dan pertengahan. ?

Jangan lupa untuk melanggan saluran Telegram saya, saya akan berkongsi artikel menarik mengenai pembangunan depan! ?

Mula!

simbol segmentasi digital
  1. Dalam nombor, anda boleh menggunakan
  2. untuk meningkatkan kebolehbacaan kod.

_

<code class="language-javascript">const sixBillion = 6000000000;

// 难以阅读
const sixBillion2 = 6000_000_000;

// 更易于阅读
console.log(sixBillion2); // 6000000000

// 也可用于计算
const sum = 1000 + 6000_000_000; // 6000001000</code>
Salin selepas log masuk
Salin selepas log masuk
memudahkan pengendali rantai pilihan
    dan watak pengkomputeran ternary
  1. && Contohnya, kami ingin memudahkan kod berikut:

Gunakan pengendali rantai pilihan untuk membuat semula kod:

<code class="language-javascript">const obj = null;
console.log(obj && obj.name);
const title1 = document.querySelector('.title');
const title = title1 ? title.innerText : undefined;</code>
Salin selepas log masuk
Salin selepas log masuk
Operasi rantai pilihan menjadikan kod lebih ringkas dan mudah dibaca.

<code class="language-javascript">const obj = null;
console.log(obj?.name);
const title1 = document.querySelector('.title');
const title = title1?.innerText;</code>
Salin selepas log masuk
Salin selepas log masuk

menggunakan bigin untuk menyelesaikan masalah pengiraan integer besar

  1. contohnya:

Untuk mengira jumlah yang besar, disarankan untuk menggunakan BIGINT. Ini akan membantu mengelakkan kesilapan mengira. Number.MAX_SAFE_INTEGER

<code class="language-javascript">Math.pow(2, 53) === Math.pow(2, 53) + 1; // true

// Math.pow(2, 53) => 9007199254740992

// Math.pow(2, 53) + 1 => 9007199254740992</code>
Salin selepas log masuk
Salin selepas log masuk
alternatif pengendali

<code class="language-javascript">BigInt(Math.pow(2, 53)) === BigInt(Math.pow(2, 53)) + BigInt(1); // false</code>
Salin selepas log masuk
    Untuk memeriksa sama ada atribut dalam objek, kami biasanya menggunakan pengendali
  1. , tetapi anda juga boleh menggunakan

    . in

    kedua -duanya mempunyai kekurangan mereka:

Atribut sedia ada dalam pemeriksaan watak pengkomputeran, termasuk sifat -sifat warisan prototaip. Jika anda hanya ingin menyemak atribut objek itu sendiri, bukan sifat prototaipnya, ini boleh menyebabkan hasil yang tidak dijangka. in Kaedah hanya memeriksa sifat -sifat objek itu sendiri, tidak termasuk sifat -sifat warisan prototaip. Walau bagaimanapun, jika objek menulis semula kaedah , kaedah ini tidak akan berfungsi dengan betul. Dalam kes ini, panggilan boleh menyebabkan kesilapan atau keputusan yang salah. obj.hasOwnProperty()

Tiada kaedah ini tidak menganggap sifat -sifat yang boleh diakses melalui rantaian prototaip. Jika anda perlu menyemak atribut dalam objek, termasuk prototaipnya, anda perlu menggunakan kaedah lain, seperti

atau
    .
  • in Apabila memproses objek besar atau struktur data bersarang,
  • dan
  • mungkin menyusahkan dan tidak cekap. Ini mungkin memerlukan pelbagai pemeriksaan dan panggilan kaedah untuk melambatkan pelaksanaan program. obj.hasOwnProperty() hasOwnProperty Contoh mudah: obj.hasOwnProperty()
Terdapat juga pengendali yang lebih mudah dan lebih selamat

. Object.getPrototypeOf()

<code class="language-javascript">const sixBillion = 6000000000;

// 难以阅读
const sixBillion2 = 6000_000_000;

// 更易于阅读
console.log(sixBillion2); // 6000000000

// 也可用于计算
const sum = 1000 + 6000_000_000; // 6000001000</code>
Salin selepas log masuk
Salin selepas log masuk
  1. Gunakan untuk mengisytiharkan atribut swasta #

Pada masa lalu, untuk menunjukkan bahawa medan adalah peribadi, kami digunakan untuk menambah garis di hadapan nama atribut (_). Tetapi sekarang, kita boleh menggunakan untuk mengisytiharkan atribut peribadi yang sebenar:

#

<code class="language-javascript">const obj = null;
console.log(obj && obj.name);
const title1 = document.querySelector('.title');
const title = title1 ? title.innerText : undefined;</code>
Salin selepas log masuk
Salin selepas log masuk
    Gunakan bukan
  1. ?? ||

    Gunakan untuk menggantikan
  2. untuk memeriksa sama ada nilai sebelah kiri nasib adalah batal atau tidak ditentukan, dan kemudian mengembalikan nilai sebelah kanan.

Contoh: ?? || Dalam contoh di atas, jika nilai pembolehubah kiri tidak null atau kurang diberi, pengendali

mengembalikan nilai pembolehubah kiri di sebelah kiri.

Jika tidak, jika nilai pembolehubah kiri adalah batal atau tidak ditentukan, simbol pengiraan mengembalikan nilai pembolehubah yang betul.
<code class="language-javascript">const obj = null;
console.log(obj?.name);
const title1 = document.querySelector('.title');
const title = title1?.innerText;</code>
Salin selepas log masuk
Salin selepas log masuk

??

rentetan ditukar kepada nombor

  1. Banyak pemaju menggunakan

    fungsi untuk menukar rentetan ke nombor, tetapi anda boleh menggunakan simbol pengkomputeran

    untuk mencapai hasil yang sama.
kedua -dua kaedah adalah berkesan, tetapi

simbol pengkomputeran lebih mudah dan lebih jelas. parseInt()

<code class="language-javascript">Math.pow(2, 53) === Math.pow(2, 53) + 1; // true

// Math.pow(2, 53) => 9007199254740992

// Math.pow(2, 53) + 1 => 9007199254740992</code>
Salin selepas log masuk
Salin selepas log masuk
kaedah ringkas bilangan nombor untuk menggantikan

  1. Daripada menggunakan fungsi untuk menyerahkan nombor ke bawah, lebih baik menggunakan pengendali kedudukan bukan -

    sebagai singkatan: Math.floor()

  2. Saya tidak mengesyorkan anda menggunakan semua teknik yang diterangkan dalam artikel ini. Sesetengah kaedah boleh merosakkan kod anda, tetapi penting untuk memahami mereka.

Terima kasih kerana membaca artikel ini! Saya harap anda telah belajar sesuatu yang berguna. Sila nantikan bahagian kedua! ?

Atas ialah kandungan terperinci Keupayaan JavaScript yang mungkin tidak anda ketahui. Bahagian 1. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan