Ký tự thoát là một cách để biểu diễn các ký tự đặc biệt hoặc không thể nhập trực tiếp vào chuỗi văn bản. Trong JavaScript, ký tự thoát được sử dụng với dấu gạch chéo ngược (``) trước ký tự cần thực hiện chức năng đặc biệt.
Dưới đây là tổng quan toàn diện về các ký tự thoát phổ biến và cách chúng hoạt động trong JavaScript:
\n
: Dòng mới (Newline)
console.log("Hello\nWorld");
// Output:
// Hello
// World
\t
: Tab ngang (Horizontal Tab)
console.log("Hello\tWorld");
// Output: Hello World
` trong chuỗi, bạn cần sử dụng
\`.
console.log("This is a backslash: \\");
// Output: This is a backslash: \
\'
: Dấu nháy đơn (Single Quote)
'
bên trong chuỗi được bao quanh bởi dấu nháy đơn.
console.log('It\'s raining');
// Output: It's raining
\"
: Dấu nháy kép (Double Quote)
"
bên trong chuỗi được bao quanh bởi dấu nháy kép.
console.log("He said, \"Hello!\"");
// Output: He said, "Hello!"
\r
: Carriage Return
console.log("Hello\rWorld");
// Output: World
\b
: Backspace
console.log("Hello\bWorld");
// Output: HellWorld
\f
: Form Feed\uXXXX
: Biểu diễn ký tự Unicode bằng mã hexa (4 chữ số).
console.log("\u00A9"); // © (biểu tượng bản quyền)
console.log("\u263A"); // ☺ (biểu tượng mặt cười)
\xXX
: Biểu diễn ký tự ASCII bằng mã hexa (2 chữ số).console.log("\x41"); // A
console.log("\x61"); // a
Trong ES6, JavaScript hỗ trợ Template Literals (chuỗi mẫu) sử dụng dấu backtick (`). Điều này giúp giảm bớt nhu cầu sử dụng ký tự thoát trong nhiều trường hợp:
\n
để tạo dòng mới; chỉ cần nhấn Enter.
Ví dụ:
const message = `Hello
World`;
console.log(message);
// Output:
// Hello
// World
const quote = `"She said," I love JavaScript!"'`;
console.log(quote);
// Output: "She said," I love JavaScript!"'
\n
, \t
để định dạng văn bản đầu ra.
\uXXXX
hoặc \xXX
để biểu diễn ký tự Unicode hoặc ASCII.\r
và \b
có thể không hoạt động như mong đợi trên tất cả các môi trường (ví dụ: trình duyệt web so với terminal).Ký tự thoát là một công cụ mạnh mẽ trong JavaScript để xử lý chuỗi và ký tự đặc biệt. Việc nắm vững các ký tự thoát sẽ giúp bạn viết code linh hoạt hơn, đặc biệt khi làm việc với dữ liệu đầu vào phức tạp hoặc định dạng văn bản.