Cách dùng chuỗi (String) trong JavaScript
Javascript căn bản | by
Trong JavaScript, chuỗi (String) là một trong những kiểu dữ liệu quan trọng và được sử dụng rộng rãi. Chuỗi không chỉ giúp hiển thị nội dung trên giao diện mà còn đóng vai trò quan trọng trong việc xử lý dữ liệu, giao tiếp với API và thao tác với văn bản.
JavaScript cung cấp nhiều cách để khai báo chuỗi, bao gồm dấu nháy đơn ('...'
), dấu nháy đôi ("..."
), và Template Literals (`...`
) – một cú pháp linh hoạt giúp dễ dàng nội suy biến và tạo chuỗi nhiều dòng. Ngoài ra, JavaScript cũng cung cấp nhiều phương thức hữu ích để xử lý chuỗi như cắt, nối, tìm kiếm, thay thế và chuyển đổi kiểu dữ liệu.
Trong bài viết này, mình sẽ tìm hiểu chi tiết về chuỗi trong JavaScript, cách khai báo, các phương thức xử lý quan trọng, cũng như những lỗi thường gặp khi làm việc với chuỗi. Qua đó, bạn sẽ có cái nhìn toàn diện và áp dụng hiệu quả vào các dự án thực tế.
Khái niệm về chuỗi trong JavaScript
Định nghĩa Chuỗi (String) là gì?
Chuỗi (String) trong JavaScript là một kiểu dữ liệu dùng để lưu trữ và xử lý văn bản. Chuỗi bao gồm một tập hợp các ký tự được đặt trong dấu nháy đơn ('...'
), dấu nháy đôi ("..."
), hoặc dấu Template Literals (`...`
).
Ví dụ về chuỗi:
let str1 = 'Hello, JavaScript!'; let str2 = "Chuỗi trong JavaScript"; let str3 = `Template Literals giúp nối chuỗi dễ dàng`;
Ứng dụng của chuỗi:
- Hiển thị nội dung trên trang web.
- Xử lý dữ liệu đầu vào của người dùng.
- Giao tiếp với API thông qua dữ liệu JSON.
- Thao tác với URL, đường dẫn file, v.v.
Cách khai báo chuỗi trong JavaScript
Dùng dấu nháy đơn ('...'
)
Chuỗi có thể được khai báo bằng dấu nháy đơn:
let message = 'Hello, World!'; console.log(message); // Output: Hello, World!
Lưu ý: Khi dùng nháy đơn, nếu chuỗi chứa dấu nháy đơn ('
), ta cần dùng ký tự escape ('
) để tránh lỗi:
let text = 'I'm learning JavaScript'; console.log(text); // Output: I'm learning JavaScript
Dùng dấu nháy đôi ("..."
)
Tương tự dấu nháy đơn, nhưng cho phép chứa dấu nháy đơn mà không cần escape:
let message = "I'm learning JavaScript"; console.log(message); // Output: I'm learning JavaScript
Lưu ý: Nếu trong chuỗi có dấu nháy đôi ("
) thì cần escape (\"
):
let quote = "He said: \"JavaScript is awesome!\""; console.log(quote); // Output: He said: "JavaScript is awesome!"
Dùng Template Literals (`...`
)
Template Literals (Template Strings) là một cách khai báo chuỗi hiện đại trong ES6 giúp:
- Nội suy biến dễ dàng bằng cú pháp
${}
. - Tạo chuỗi nhiều dòng mà không cần
\n
.
let name = "Alice"; let greeting = `Xin chào, tôi là ${name}`; console.log(greeting); // Output: Xin chào, tôi là Alice
Chuỗi nhiều dòng với Template Literals:
let multiLine = `Dòng 1 Dòng 2 Dòng 3`; console.log(multiLine);
Không cần dùng +
để nối chuỗi:
let product = "Laptop"; let price = 1500; let info = `Sản phẩm: ${product}, Giá: ${price} USD`; console.log(info); // Output: Sản phẩm: Laptop, Giá: 1500 USD
So sánh dấu nháy đơn, nháy đôi và Template Literals trong JavaScript
Cách khai báo | Ưu điểm | Nhược điểm | Khi nào nên dùng? |
---|---|---|---|
Nháy đơn '...' |
Ngắn gọn, phổ biến | Phải escape (' ) nếu có dấu ' |
Khi không cần nội suy biến |
Nháy đôi "..." |
Hỗ trợ dấu ' mà không cần escape |
Phải escape (\" ) nếu có dấu " |
Khi cần chứa dấu ' trong chuỗi |
Template Literals `...` |
Nội suy biến ${} , dễ viết nhiều dòng |
Chỉ hỗ trợ từ ES6 (ES2015) | Khi cần chèn biến hoặc chuỗi nhiều dòng |
Lời khuyên:
- Nếu cần nội suy biến hoặc chuỗi nhiều dòng → Dùng Template Literals.
- Nếu chỉ cần khai báo chuỗi đơn giản → Dùng dấu nháy đơn
'
hoặc nháy đôi"
.
Tính chất bất biến của Chuỗi (Immutable Strings)
Chuỗi trong JavaScript là bất biến (Immutable), nghĩa là một khi đã tạo, nó không thể thay đổi nội dung.
let str = "Hello"; str[0] = "J"; // Không có tác dụng console.log(str); // Output: Hello
- Dù ta cố gắng thay đổi ký tự đầu tiên (
str[0] = "J"
), nhưng chuỗi vẫn giữ nguyên. - Nếu muốn thay đổi nội dung chuỗi, ta phải tạo chuỗi mới:
let str = "Hello"; str = "J" + str.slice(1); console.log(str); // Output: Jello