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!