LazyCodet

a

13:27:50 27/4/2025 - 1 views -
JS

KÍ TỰ THOÁT

Ký tự thoát (Escape Characters) trong JavaScript

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:


Các ký tự thoát cơ bản

  • \n: Dòng mới (Newline)
    • Tạo ra một dòng mới trong chuỗi.
    • Ví dụ:
      console.log("Hello\nWorld");
          // Output:
          // Hello
          // World
  • \t: Tab ngang (Horizontal Tab)
    • Thêm khoảng trắng dạng tab giữa các ký tự.
    • Ví dụ:
      console.log("Hello\tWorld");
          // Output: Hello    World
  • `\`: Gạch chéo ngược (Backslash)
    • Để hiển thị ký tự ` trong chuỗi, bạn cần sử dụng \`.
    • Ví dụ:
      console.log("This is a backslash: \\");
          // Output: This is a backslash: \
  • \': Dấu nháy đơn (Single Quote)
    • Sử dụng khi bạn muốn hiển thị dấu ' bên trong chuỗi được bao quanh bởi dấu nháy đơn.
    • Ví dụ:
      console.log('It\'s raining');
          // Output: It's raining
  • \": Dấu nháy kép (Double Quote)
    • Sử dụng khi bạn muốn hiển thị dấu " bên trong chuỗi được bao quanh bởi dấu nháy kép.
    • Ví dụ:
      console.log("He said, \"Hello!\"");
          // Output: He said, "Hello!"
  • \r: Carriage Return
    • Di chuyển con trỏ về đầu dòng hiện tại mà không xuống dòng mới.
    • Ví dụ:
      console.log("Hello\rWorld");
          // Output: World
  • \b: Backspace
    • Xóa ký tự trước đó trong chuỗi.
    • Ví dụ:
      console.log("Hello\bWorld");
          // Output: HellWorld
  • \f: Form Feed
    • Được sử dụng trong in ấn để bắt đầu một trang mới. Hiếm khi sử dụng trong JavaScript hiện đại.

Ký tự Unicode

  • \uXXXX: Biểu diễn ký tự Unicode bằng mã hexa (4 chữ số).
    • Ví dụ:
      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ố).
    • Ví dụ:
      console.log("\x41"); // A
          console.log("\x61"); // a

Chuỗi Template Literal và ký tự thoát

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:

  • Không cần sử dụng \n để tạo dòng mới; chỉ cần nhấn Enter.
  • Không cần thoát dấu nháy đơn hoặc nháy kép nếu chúng không trùng với dấu backtick.

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!"'

Ứng dụng của ký tự thoát

  • **Xử lý dữ liệu đầu vào:** Khi người dùng nhập dữ liệu có chứa ký tự đặc biệt (như dấu nháy), bạn có thể sử dụng ký tự thoát để đảm bảo dữ liệu được xử lý đúng.
  • **Định dạng văn bản:** Sử dụng \n, \t để định dạng văn bản đầu ra.
  • **Biểu diễn ký tự đặc biệt:** Sử dụng \uXXXX hoặc \xXX để biểu diễn ký tự Unicode hoặc ASCII.

Lưu ý quan trọng

  • **Tránh lạm dụng ký tự thoát:** Nếu bạn sử dụng Template Literals, bạn có thể giảm thiểu việc sử dụng ký tự thoát.
  • **Hiểu rõ ngữ cảnh:** Một số ký tự thoát như \r\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 luận

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.