Rumah >hujung hadapan web >tutorial js >Mengapakah ' [[]][ []] [ []]' Menilai kepada '10' dalam JavaScript?

Mengapakah ' [[]][ []] [ []]' Menilai kepada '10' dalam JavaScript?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-20 21:25:19440semak imbas

Why Does

Merungkai Teka-teki JavaScript: Mentafsir " [[]][ []] [ []]"

Dalam JavaScript, ungkapan " [[]][ []] [ []]" mungkin kelihatan membingungkan pada mulanya, tetapi pemeriksaan lebih dekat mendedahkan satu siri operasi yang akhirnya mengembalikan rentetan "10."

Memecahkan ungkapan, kita ada:

  • [[]][ []] [ []]

Mari kita membedah ungkapan langkah demi langkah:

1. []:

Dalam JavaScript, [] memaksa tatasusunan kosong [] menjadi nombor, menghasilkan 0. Ini disebabkan oleh kelakuan operator unari, yang menukar operannya kepada jenis Nombor .

2. [[]][ []]:

Ungkapan ini mengembalikan tatasusunan dalam ([]) tatasusunan luar [[]].

3. [[]][ []]:

Pengendali menambah nilai operannya sebanyak satu. Oleh itu, operasi ini menambah tatasusunan dalam ([)]), yang merupakan nilai palsu. Menambah nilai palsu dalam JavaScript mengembalikan 1.

4. [ []]:

Sama seperti [], ungkapan ini memaksa tatasusunan kosong [] menjadi nombor, menghasilkan 0 sekali lagi.

5. 1 0:

Sekarang kita mempunyai dua nombor untuk ditambah: 1 daripada tatasusunan dalam yang bertambah dan 0 daripada paksaan tatasusunan kosong kedua. Hasilnya ialah 1.

6. 1 [0]:

Menariknya, dalam JavaScript, [0] adalah benar dan menilai kepada rentetan "0." Apabila menggabungkan rentetan dan nombor, JavaScript memaksa nombor itu menjadi rentetan. Oleh itu, operasi ini menghasilkan "10."

Oleh itu, ungkapan yang seolah-olah membingungkan " [[]][ []] [ []]" terurai menjadi satu siri penukaran jenis dan gabungan, akhirnya mengembalikan rentetan " 10."

Atas ialah kandungan terperinci Mengapakah ' [[]][ []] [ []]' Menilai kepada '10' dalam JavaScript?. 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