4.1 Giới thiệu về chuỗi
Chuỗi trong JavaScript là tập hợp các ký tự và là một trong những kiểu dữ liệu cơ bản. Chuỗi có thể tạo bằng cách sử dụng nháy đơn ('text'), nháy kép ("text"), hoặc nháy ngược (`text`).
Ví dụ về chuỗi:
let singleQuote = 'Hello, World!';
let doubleQuote = "Hello, World!";
let backticks = `Hello, World!`;
Có thể gọi các phương thức trên đối tượng chuỗi như sau:
| Phương thức | Mô tả |
|---|---|
| length | Trả về độ dài của chuỗi |
| charAt(index) | Trả về ký tự ở vị trí được chỉ định |
| toUpperCase() | Chuyển đổi chuỗi thành chữ hoa |
| toLowerCase() | Chuyển đổi chuỗi thành chữ thường |
| indexOf(substring) | Trả về chỉ số của lần xuất hiện đầu tiên của chuỗi con hoặc -1 nếu không tìm thấy |
| includes(substring) | Kiểm tra xem chuỗi có chứa chuỗi con được chỉ định hay không, trả về true hoặc false |
| slice(start, end) | Trích xuất một phần của chuỗi và trả về chuỗi mới |
| replace(searchValue, newValue) | Thay thế chuỗi con được chỉ định bằng chuỗi con mới |
| split(separator) | Chia chuỗi thành mảng các chuỗi con, sử dụng bộ chia được chỉ định |
| trim() | Xóa khoảng trắng từ đầu và cuối chuỗi |
4.2 Các phương thức chính làm việc với chuỗi
Ví dụ sử dụng các phương thức:
1. Thuộc tính length
Trả về độ dài của chuỗi:
let str = 'Hello';
console.log(str.length); // 5
2. Phương thức charAt(index)
Trả về ký tự ở vị trí được chỉ định:
let str = 'Hello';
let result = str.charAt(1);
console.log(result); // 'e'
3. Phương thức toUpperCase() và toLowerCase():
Chuyển đổi chuỗi thành chữ hoa hoặc chữ thường:
let str = 'Hello';
console.log(str.toUpperCase()); // 'HELLO'
console.log(str.toLowerCase()); // 'hello'
4. Phương thức indexOf(substring)
Trả về chỉ số của lần xuất hiện đầu tiên của chuỗi con hoặc -1 nếu không tìm thấy:
let str = 'Hello, world!';
let result = str.indexOf('world');
console.log(result); // 7
5. Phương thức includes(substring)
Kiểm tra xem chuỗi có chứa chuỗi con được chỉ định hay không, trả về true hoặc false:
let str = 'Hello, world!';
let result = str.includes('world');
console.log(result); // true
6. Phương thức trim()
Xóa khoảng trắng từ đầu và cuối chuỗi:
let str = ' Hello, world! ';
console.log(str.trim()); // 'Hello, world!'
7. Phương thức replace(searchValue, newValue)
Thay thế chuỗi con được chỉ định bằng chuỗi con mới:
let str = 'Hello, world!';
console.log(str.replace('world', 'JavaScript')); // 'Hello, JavaScript!'
8. Phương thức split(separator)
Chia chuỗi thành mảng các chuỗi con, sử dụng bộ chia được chỉ định:
let str = 'Hello, world!';
let words = str.split(' ');
console.log(words); // ['Hello,', 'world!']
9. Phương thức substring(start, end)
Trả về chuỗi con giữa hai chỉ số:
let str = 'Hello, world!';
console.log(str.substring(0, 5)); // 'Hello'
10. Phương thức substr(start, length)
Trả về chuỗi con, bắt đầu từ chỉ số được chỉ định và có độ dài bằng với số ký tự được chỉ định:
let str = 'Hello, world!';
console.log(str.substr(0, 5)); // 'Hello'
11. Phương thức slice(start, end)
Trích xuất một phần của chuỗi và trả về chuỗi mới:
let str = 'Hello, world!';
console.log(str.slice(0, 5)); // 'Hello'
12. Phương thức startsWith(substring)
Kiểm tra xem chuỗi có bắt đầu bằng chuỗi con được chỉ định hay không, trả về true hoặc false:
let str = 'Hello, world!';
console.log(str.startsWith('Hello')); // true
13. Phương thức endsWith(substring)
Kiểm tra xem chuỗi có kết thúc bằng chuỗi con được chỉ định hay không, trả về true hoặc false:
let str = 'Hello, world!';
console.log(str.endsWith('world!')); // true
14. Phương thức repeat(count)
Trả về chuỗi mới, chứa số lần sao chép của chuỗi gốc được chỉ định:
let str = 'Hello';
console.log(str.repeat(3)); // 'HelloHelloHello'
let str2 = '-';
console.log(str2.repeat(30)); // '---------------------------------------------------------------'
4.3 Chuỗi thế hệ mới
Chuỗi mẫu (template strings) mới được thêm vào JavaScript gần đây. Chúng cung cấp cách làm việc với văn bản thuận tiện và dễ đọc hơn so với chuỗi thông thường. Được đặt trong dấu nháy ngược (`) và hỗ trợ chèn biến, biểu thức và văn bản nhiều dòng.
Cú pháp:
`chuỗi thế hệ mới`
Ví dụ:
Chuỗi mẫu greeting được tạo bằng cách sử dụng dấu nháy ngược.
const greeting = `Hello, World!`;
console.log(greeting); // "Hello, World!"
Các tính năng chính của chuỗi mẫu:
- Chèn biểu thức: chuỗi mẫu cho phép chèn các biểu thức và biến vào trong chuỗi bằng
${} - Văn bản nhiều dòng: chuỗi mẫu hỗ trợ văn bản nhiều dòng mà không cần sử dụng ký tự đặc biệt để ngắt dòng
- Biểu thức nhúng: có thể sử dụng bất kỳ biểu thức JavaScript nào, bao gồm các hàm, bên trong chuỗi mẫu
Hãy xem các ví dụ về cách sử dụng chuỗi mẫu.
Chèn biểu thức
Chuỗi mẫu cho phép dễ dàng chèn giá trị của biến và kết quả biểu thức bên trong chuỗi:
let name = "Alice";
let age = 30;
let greeting = `Hello, ${name}! You are ${age} years old.`;
console.log(greeting); // "Hello, Alice! You are 30 years old."
Trong ví dụ này, các biến name và age được chèn vào bên trong chuỗi bằng ${}.
Văn bản nhiều dòng
Chuỗi mẫu đơn giản hóa việc tạo chuỗi nhiều dòng mà không cần sử dụng ký tự ngắt dòng (\n):
let multiLine = `Lorem ipsum odor, consectetuer adipiscing elit.
Sit lorem mattis eget maximus.`;
console.log(multiLine);
Biểu thức nhúng
Có thể sử dụng bất kỳ biểu thức JavaScript nào, bao gồm gọi hàm, bên trong chuỗi mẫu:
let a = 5;
let b = 10;
let result = `The sum of ${a} and ${b} is ${a + b}.`;
console.log(result); // "The sum of 5 and 10 is 15."
function getGreeting(name) {
return `Hello, ${name}!`;
}
let greeting = `${getGreeting("Bob")}`;
console.log(greeting); // "Hello, Bob!"
Tốt nhất là không nên gọi hàm bên trong chuỗi, nhưng nếu muốn lắm thì cũng được.
GO TO FULL VERSION