Rumah >hujung hadapan web >tutorial js >Mengapakah `console.log`1 Menghasilkan `[\'1\', mentah: Array[1]]` dalam JavaScript?

Mengapakah `console.log`1 Menghasilkan `[\'1\', mentah: Array[1]]` dalam JavaScript?

Linda Hamilton
Linda Hamiltonasal
2024-11-29 19:12:11505semak imbas

Why Does `console.log`1 Output `[

Menyingkap Enigma Backtick: Fungsi Panggilan dalam JavaScript

Dalam bidang JavaScript, backtick yang rendah hati (…) memegang kuasa misteri , mampu menggunakan fungsi dengan lancar. Namun, fenomena ini boleh menyebabkan pemaju berpengalaman hairan. Mengapakah kod console.log1` menghasilkan output yang tidak dijangka seperti "console.log1`nVM12380:2 ["1", mentah: Array[1]]"?

Jawapannya terletak pada konsep Tagged Templat, ciri menarik yang diperkenalkan dalam ES-6. Templat berteg membenarkan pembangun menandai rentetan templat dengan fungsi, membolehkan mereka melaksanakan operasi pada nilai yang dihuraikan rentetan tersebut.

Dalam contoh kami, tanda belakang (…) menandai rentetan literal "1" dengan konsol. fungsi log. Sama seperti fungsi lain, fungsi yang ditag menerima nilai yang dihuraikan bagi rentetan templat, iaitu rentetan itu sendiri dan tatasusunan yang mengandungi nilai mentahnya.

Fungsi yang ditandakan seperti console.log boleh memproses templat rentetan sebelum ianya keluaran. Dalam kes ini, fungsi hanya mencetak tatasusunan yang diterimanya, menghasilkan output yang kami perhatikan.

Babel, transpiler JavaScript yang popular, mengubah kod Templat Teg kepada bentuk yang lebih serasi dengan ES-5. Dalam kes kami, kod berikut dijana:

var _taggedTemplateLiteralLoose = function (strings, raw) {
  strings.raw = raw;
  return strings;
};

console.log(_taggedTemplateLiteralLoose(["1"], ["1"]));

Fungsi _taggedTemplateLiteralLoose mengembalikan templat berteg, yang kemudiannya dihantar ke console.log. Ini menerangkan sebab tatasusunan ["1", mentah: Tatasusunan[1]] dicetak dalam konsol.

Jadi, kuasa backticks terletak pada keupayaan mereka untuk memudahkan Templat Bertanda, mekanisme yang membolehkan fungsi untuk proses dan tingkatkan rentetan yang ditag dengannya, membuka dunia kemungkinan dalam pengaturcaraan JavaScript.

Atas ialah kandungan terperinci Mengapakah `console.log`1 Menghasilkan `[\'1\', mentah: Array[1]]` 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