Rumah >hujung hadapan web >tutorial js >Keupayaan JavaScript yang mungkin tidak anda ketahui. Bahagian 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
_
<code class="language-javascript">const sixBillion = 6000000000; // 难以阅读 const sixBillion2 = 6000_000_000; // 更易于阅读 console.log(sixBillion2); // 6000000000 // 也可用于计算 const sum = 1000 + 6000_000_000; // 6000001000</code>memudahkan pengendali rantai pilihan
&&
Contohnya, kami ingin memudahkan kod berikut:
<code class="language-javascript">const obj = null; console.log(obj && obj.name); const title1 = document.querySelector('.title'); const title = title1 ? title.innerText : undefined;</code>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>
menggunakan bigin untuk menyelesaikan masalah pengiraan integer besar
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>alternatif pengendali
<code class="language-javascript">BigInt(Math.pow(2, 53)) === BigInt(Math.pow(2, 53)) + BigInt(1); // false</code>
in
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
atauin
Apabila memproses objek besar atau struktur data bersarang, obj.hasOwnProperty()
hasOwnProperty
Contoh mudah: obj.hasOwnProperty()
. 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>
#
#
<code class="language-javascript">const obj = null; console.log(obj && obj.name); const title1 = document.querySelector('.title'); const title = title1 ? title.innerText : undefined;</code>
??
||
Contoh:
??
||
Dalam contoh di atas, jika nilai pembolehubah kiri tidak null atau kurang diberi, pengendali
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>
??
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>kaedah ringkas bilangan nombor untuk menggantikan
Math.floor()
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!