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
Lepaskan: 2024-11-29 19:12:11
asal
516 orang telah melayarinya

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"]));
Salin selepas log masuk

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!

sumber:php.cn
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