Hướng dẫn what is string [] javascript? - chuỗi [] javascript là gì?

Đối tượng

const string4 = new String("A String object");
7 được sử dụng để biểu diễn và thao tác một chuỗi các ký tự.
const string4 = new String("A String object");
7
object is used to represent and manipulate a sequence of characters.

Sự mô tả

Chuỗi rất hữu ích để giữ dữ liệu có thể được biểu diễn ở dạng văn bản. Một số hoạt động được sử dụng nhiều nhất trên các chuỗi là kiểm tra

const string4 = new String("A String object");
8 của chúng, để xây dựng và kết hợp chúng bằng toán tử + và + = chuỗi, kiểm tra sự tồn tại hoặc vị trí của các chuỗi con bằng phương pháp
const string4 = new String("A String object");
9 hoặc trích xuất các phần phụ bằng phương pháp
'cat'.charAt(1) // gives value "a"
0.

Tạo chuỗi

Chuỗi có thể được tạo thành nguyên thủy, từ các chuỗi chữ hoặc làm đối tượng, sử dụng hàm tạo

'cat'.charAt(1) // gives value "a"
1:

const string1 = "A string primitive";
const string2 = 'Also a string primitive';
const string3 = `Yet another string primitive`;

const string4 = new String("A String object");

Chuỗi nguyên thủy và đối tượng chuỗi chia sẻ nhiều hành vi, nhưng có những khác biệt và cảnh báo quan trọng khác. Xem "Chuỗi nguyên thủy và đối tượng chuỗi" bên dưới.

Chuỗi chữ có thể được chỉ định bằng cách sử dụng trích dẫn đơn hoặc đôi, được xử lý giống hệt nhau hoặc sử dụng ký tự backtick. Hình thức cuối cùng này chỉ định một mẫu theo nghĩa đen: với biểu mẫu này, bạn có thể nội suy các biểu thức.

Truy cập nhân vật

Có hai cách để truy cập một ký tự cá nhân trong một chuỗi. Đầu tiên là phương pháp

'cat'.charAt(1) // gives value "a"
2:

'cat'.charAt(1) // gives value "a"

Một cách khác là coi chuỗi là một đối tượng giống như mảng, trong đó các ký tự riêng lẻ tương ứng với một chỉ mục số:

'cat'[1] // gives value "a"

Khi sử dụng ký hiệu khung để truy cập ký tự, việc cố gắng xóa hoặc gán giá trị cho các thuộc tính này sẽ không thành công. Các thuộc tính liên quan không thể viết cũng không thể cấu hình. (Xem

'cat'.charAt(1) // gives value "a"
3 để biết thêm thông tin.)

So sánh chuỗi

Trong C, hàm

'cat'.charAt(1) // gives value "a"
4 được sử dụng để so sánh các chuỗi. Trong JavaScript, bạn chỉ cần sử dụng các toán tử kém hơn và lớn hơn:

const a = 'a';
const b = 'b';
if (a < b) { // true
  console.log(`${a} is less than ${b}`)
} else if (a > b) {
  console.log(`${a} is greater than ${b}`)
} else {
  console.log(`${a} and ${b} are equal.`)
}

Lưu ý rằng tất cả các toán tử so sánh, bao gồm

'cat'.charAt(1) // gives value "a"
5 và
'cat'.charAt(1) // gives value "a"
6, so sánh các chuỗi nhạy cảm với chuỗi. Một cách phổ biến để so sánh các chuỗi không nhạy cảm là chuyển đổi cả hai thành cùng một trường hợp (trên hoặc dưới) trước khi so sánh chúng.

function areEqualCaseInsensitive(str1, str2) {
  return str1.toUpperCase() === str2.toUpperCase();
}

Việc lựa chọn nên biến đổi bởi

'cat'.charAt(1) // gives value "a"
7 hoặc
'cat'.charAt(1) // gives value "a"
8 chủ yếu là tùy ý, và không ai hoàn toàn mạnh mẽ khi vượt ra ngoài bảng chữ cái Latin. Ví dụ, chữ thường của Đức
'cat'.charAt(1) // gives value "a"
9 và
'cat'[1] // gives value "a"
0 đều được chuyển đổi thành
'cat'[1] // gives value "a"
1 bởi
'cat'.charAt(1) // gives value "a"
7, trong khi thư Thổ Nhĩ Kỳ
'cat'[1] // gives value "a"
3 sẽ được báo cáo sai là không đồng đều với
'cat'[1] // gives value "a"
4 bởi
'cat'.charAt(1) // gives value "a"
8 trừ khi sử dụng cụ thể
'cat'[1] // gives value "a"
6.

const areEqualInUpperCase = (str1, str2) =>
  str1.toUpperCase() === str2.toUpperCase();
const areEqualInLowerCase = (str1, str2) =>
  str1.toLowerCase() === str2.toLowerCase();

areEqualInUpperCase("ß", "ss"); // true; should be false
areEqualInLowerCase("ı", "I"); // false; should be true

Một giải pháp nhận biết địa phương và mạnh mẽ để kiểm tra bình đẳng không phân biệt trường hợp là sử dụng API

'cat'[1] // gives value "a"
7 hoặc phương thức ____38 của chuỗi-chúng có chung giao diện-với tùy chọn
'cat'[1] // gives value "a"
9 được đặt thành
const a = 'a';
const b = 'b';
if (a < b) { // true
  console.log(`${a} is less than ${b}`)
} else if (a > b) {
  console.log(`${a} is greater than ${b}`)
} else {
  console.log(`${a} and ${b} are equal.`)
}
0 hoặc
const a = 'a';
const b = 'b';
if (a < b) { // true
  console.log(`${a} is less than ${b}`)
} else if (a > b) {
  console.log(`${a} is greater than ${b}`)
} else {
  console.log(`${a} and ${b} are equal.`)
}
1.

const areEqual = (str1, str2, locale = "en-US") =>
  str1.localeCompare(str2, locale, { sensitivity: "accent" }) === 0;

areEqual("ß", "ss", "de"); // false
areEqual("ı", "I", "tr"); // true

Phương pháp

'cat'[1] // gives value "a"
8 cho phép so sánh chuỗi theo cách tương tự như
'cat'.charAt(1) // gives value "a"
4-nó cho phép sắp xếp các chuỗi theo cách nhận biết địa phương.

Chuỗi nguyên thủy và các đối tượng chuỗi

Lưu ý rằng JavaScript phân biệt giữa các đối tượng

const string4 = new String("A String object");
7 và các giá trị chuỗi nguyên thủy. (Điều tương tự cũng đúng với
const a = 'a';
const b = 'b';
if (a < b) { // true
  console.log(`${a} is less than ${b}`)
} else if (a > b) {
  console.log(`${a} is greater than ${b}`)
} else {
  console.log(`${a} and ${b} are equal.`)
}
5 và
const a = 'a';
const b = 'b';
if (a < b) { // true
  console.log(`${a} is less than ${b}`)
} else if (a > b) {
  console.log(`${a} is greater than ${b}`)
} else {
  console.log(`${a} and ${b} are equal.`)
}
6.)

Chuỗi chữ (được biểu thị bằng các trích dẫn kép hoặc đơn) và các chuỗi được trả về từ các cuộc gọi

const string4 = new String("A String object");
7 trong bối cảnh không xây dựng (nghĩa là được gọi mà không sử dụng từ khóa
const a = 'a';
const b = 'b';
if (a < b) { // true
  console.log(`${a} is less than ${b}`)
} else if (a > b) {
  console.log(`${a} is greater than ${b}`)
} else {
  console.log(`${a} and ${b} are equal.`)
}
8) là các chuỗi nguyên thủy. Trong các bối cảnh trong đó một phương thức sẽ được gọi trên một chuỗi nguyên thủy hoặc tra cứu thuộc tính xảy ra, JavaScript sẽ tự động kết thúc chuỗi nguyên thủy và gọi phương thức hoặc thực hiện tra cứu thuộc tính trên đối tượng trình bao bọc.

const strPrim = "foo"; // A literal is a string primitive
const strPrim2 = String(1); // Coerced into the string primitive "1"
const strPrim3 = String(true); // Coerced into the string primitive "true"
const strObj = new String(strPrim); // String with new returns a string wrapper object.

console.log(typeof strPrim); // "string"
console.log(typeof strPrim2); // "string"
console.log(typeof strPrim3); // "string"
console.log(typeof strObj); // "object"

CẢNH BÁO: Bạn hiếm khi thấy mình sử dụng

const string4 = new String("A String object");
7 làm người xây dựng. You should rarely find yourself using
const string4 = new String("A String object");
7 as a constructor.

Các đối tượng nguyên thủy chuỗi và

const string4 = new String("A String object");
7 cũng cho kết quả khác nhau khi sử dụng
function areEqualCaseInsensitive(str1, str2) {
  return str1.toUpperCase() === str2.toUpperCase();
}
1. Các nguyên thủy được chuyển đến
function areEqualCaseInsensitive(str1, str2) {
  return str1.toUpperCase() === str2.toUpperCase();
}
2 được coi là mã nguồn;
const string4 = new String("A String object");
7 Các đối tượng được coi là tất cả các đối tượng khác, bằng cách trả về đối tượng. Ví dụ:

const s1 = '2 + 2';              // creates a string primitive
const s2 = new String('2 + 2');  // creates a String object
console.log(eval(s1));           // returns the number 4
console.log(eval(s2));           // returns the string "2 + 2"

Vì những lý do này, mã có thể bị phá vỡ khi nó gặp

const string4 = new String("A String object");
7 đối tượng khi nó mong đợi một chuỗi nguyên thủy thay vào đó, mặc dù nói chung, các tác giả không cần phải lo lắng về sự khác biệt.

Một đối tượng

const string4 = new String("A String object");
7 luôn có thể được chuyển đổi thành đối tác nguyên thủy của nó với phương pháp
function areEqualCaseInsensitive(str1, str2) {
  return str1.toUpperCase() === str2.toUpperCase();
}
6.

const string4 = new String("A String object");
0

Chuỗi ép buộc

Nhiều hoạt động tích hợp mong đợi các chuỗi đầu tiên ép buộc các đối số của họ với các chuỗi (đó phần lớn là lý do tại sao các đối tượng

const string4 = new String("A String object");
7 hoạt động tương tự như các nguyên thủy chuỗi). Hoạt động có thể được tóm tắt như sau:

  • Chuỗi được trả lại như-IS.
  • function areEqualCaseInsensitive(str1, str2) {
      return str1.toUpperCase() === str2.toUpperCase();
    }
    
    8 biến thành
    function areEqualCaseInsensitive(str1, str2) {
      return str1.toUpperCase() === str2.toUpperCase();
    }
    
    9.
  • const areEqualInUpperCase = (str1, str2) =>
      str1.toUpperCase() === str2.toUpperCase();
    const areEqualInLowerCase = (str1, str2) =>
      str1.toLowerCase() === str2.toLowerCase();
    
    areEqualInUpperCase("ß", "ss"); // true; should be false
    areEqualInLowerCase("ı", "I"); // false; should be true
    
    0 biến thành
    const areEqualInUpperCase = (str1, str2) =>
      str1.toUpperCase() === str2.toUpperCase();
    const areEqualInLowerCase = (str1, str2) =>
      str1.toLowerCase() === str2.toLowerCase();
    
    areEqualInUpperCase("ß", "ss"); // true; should be false
    areEqualInLowerCase("ı", "I"); // false; should be true
    
    1.
  • const areEqualInUpperCase = (str1, str2) =>
      str1.toUpperCase() === str2.toUpperCase();
    const areEqualInLowerCase = (str1, str2) =>
      str1.toLowerCase() === str2.toLowerCase();
    
    areEqualInUpperCase("ß", "ss"); // true; should be false
    areEqualInLowerCase("ı", "I"); // false; should be true
    
    2 biến thành
    const areEqualInUpperCase = (str1, str2) =>
      str1.toUpperCase() === str2.toUpperCase();
    const areEqualInLowerCase = (str1, str2) =>
      str1.toLowerCase() === str2.toLowerCase();
    
    areEqualInUpperCase("ß", "ss"); // true; should be false
    areEqualInLowerCase("ı", "I"); // false; should be true
    
    3;
    const areEqualInUpperCase = (str1, str2) =>
      str1.toUpperCase() === str2.toUpperCase();
    const areEqualInLowerCase = (str1, str2) =>
      str1.toLowerCase() === str2.toLowerCase();
    
    areEqualInUpperCase("ß", "ss"); // true; should be false
    areEqualInLowerCase("ı", "I"); // false; should be true
    
    4 biến thành
    const areEqualInUpperCase = (str1, str2) =>
      str1.toUpperCase() === str2.toUpperCase();
    const areEqualInLowerCase = (str1, str2) =>
      str1.toLowerCase() === str2.toLowerCase();
    
    areEqualInUpperCase("ß", "ss"); // true; should be false
    areEqualInLowerCase("ı", "I"); // false; should be true
    
    5.
  • Các số được chuyển đổi với cùng một thuật toán là
    const areEqualInUpperCase = (str1, str2) =>
      str1.toUpperCase() === str2.toUpperCase();
    const areEqualInLowerCase = (str1, str2) =>
      str1.toLowerCase() === str2.toLowerCase();
    
    areEqualInUpperCase("ß", "ss"); // true; should be false
    areEqualInLowerCase("ı", "I"); // false; should be true
    
    6.
  • Bigint được chuyển đổi với cùng một thuật toán là
    const areEqualInUpperCase = (str1, str2) =>
      str1.toUpperCase() === str2.toUpperCase();
    const areEqualInLowerCase = (str1, str2) =>
      str1.toLowerCase() === str2.toLowerCase();
    
    areEqualInUpperCase("ß", "ss"); // true; should be false
    areEqualInLowerCase("ı", "I"); // false; should be true
    
    6.
  • Biểu tượng ném
    const areEqualInUpperCase = (str1, str2) =>
      str1.toUpperCase() === str2.toUpperCase();
    const areEqualInLowerCase = (str1, str2) =>
      str1.toLowerCase() === str2.toLowerCase();
    
    areEqualInUpperCase("ß", "ss"); // true; should be false
    areEqualInLowerCase("ı", "I"); // false; should be true
    
    8.
  • Các đối tượng trước tiên được chuyển đổi thành nguyên thủy bằng cách gọi
    const areEqualInUpperCase = (str1, str2) =>
      str1.toUpperCase() === str2.toUpperCase();
    const areEqualInLowerCase = (str1, str2) =>
      str1.toLowerCase() === str2.toLowerCase();
    
    areEqualInUpperCase("ß", "ss"); // true; should be false
    areEqualInLowerCase("ı", "I"); // false; should be true
    
    9 của nó (với
    const areEqual = (str1, str2, locale = "en-US") =>
      str1.localeCompare(str2, locale, { sensitivity: "accent" }) === 0;
    
    areEqual("ß", "ss", "de"); // false
    areEqual("ı", "I", "tr"); // true
    
    0 là gợi ý),
    const areEqual = (str1, str2, locale = "en-US") =>
      str1.localeCompare(str2, locale, { sensitivity: "accent" }) === 0;
    
    areEqual("ß", "ss", "de"); // false
    areEqual("ı", "I", "tr"); // true
    
    1 và
    function areEqualCaseInsensitive(str1, str2) {
      return str1.toUpperCase() === str2.toUpperCase();
    }
    
    6, theo thứ tự đó. Kết quả nguyên thủy sau đó được chuyển đổi thành một chuỗi.

Có một số cách để đạt được hiệu quả gần như tương tự trong JavaScript.

  • Mẫu theo nghĩa đen:
    const areEqual = (str1, str2, locale = "en-US") =>
      str1.localeCompare(str2, locale, { sensitivity: "accent" }) === 0;
    
    areEqual("ß", "ss", "de"); // false
    areEqual("ı", "I", "tr"); // true
    
    3 thực hiện chính xác các bước ép buộc chuỗi được giải thích ở trên cho biểu thức nhúng.
  • Hàm
    'cat'.charAt(1) // gives value "a"
    
    1:
    const areEqual = (str1, str2, locale = "en-US") =>
      str1.localeCompare(str2, locale, { sensitivity: "accent" }) === 0;
    
    areEqual("ß", "ss", "de"); // false
    areEqual("ı", "I", "tr"); // true
    
    5 sử dụng cùng một thuật toán để chuyển đổi
    const areEqual = (str1, str2, locale = "en-US") =>
      str1.localeCompare(str2, locale, { sensitivity: "accent" }) === 0;
    
    areEqual("ß", "ss", "de"); // false
    areEqual("ı", "I", "tr"); // true
    
    6, ngoại trừ các ký hiệu không ném
    const areEqualInUpperCase = (str1, str2) =>
      str1.toUpperCase() === str2.toUpperCase();
    const areEqualInLowerCase = (str1, str2) =>
      str1.toLowerCase() === str2.toLowerCase();
    
    areEqualInUpperCase("ß", "ss"); // true; should be false
    areEqualInLowerCase("ı", "I"); // false; should be true
    
    8, nhưng trả về
    const areEqual = (str1, str2, locale = "en-US") =>
      str1.localeCompare(str2, locale, { sensitivity: "accent" }) === 0;
    
    areEqual("ß", "ss", "de"); // false
    areEqual("ı", "I", "tr"); // true
    
    8, trong đó
    const areEqual = (str1, str2, locale = "en-US") =>
      str1.localeCompare(str2, locale, { sensitivity: "accent" }) === 0;
    
    areEqual("ß", "ss", "de"); // false
    areEqual("ı", "I", "tr"); // true
    
    9 là mô tả của biểu tượng.
  • Sử dụng toán tử
    const strPrim = "foo"; // A literal is a string primitive
    const strPrim2 = String(1); // Coerced into the string primitive "1"
    const strPrim3 = String(true); // Coerced into the string primitive "true"
    const strObj = new String(strPrim); // String with new returns a string wrapper object.
    
    console.log(typeof strPrim); // "string"
    console.log(typeof strPrim2); // "string"
    console.log(typeof strPrim3); // "string"
    console.log(typeof strObj); // "object"
    
    0:
    const strPrim = "foo"; // A literal is a string primitive
    const strPrim2 = String(1); // Coerced into the string primitive "1"
    const strPrim3 = String(true); // Coerced into the string primitive "true"
    const strObj = new String(strPrim); // String with new returns a string wrapper object.
    
    console.log(typeof strPrim); // "string"
    console.log(typeof strPrim2); // "string"
    console.log(typeof strPrim3); // "string"
    console.log(typeof strObj); // "object"
    
    1 ép buộc vận hành của nó thành một nguyên thủy thay vì một chuỗi và, đối với một số đối tượng, có các hành vi hoàn toàn khác với sự ép buộc chuỗi bình thường. Xem trang tham chiếu của nó để biết thêm chi tiết.

Tùy thuộc vào trường hợp sử dụng của bạn, bạn có thể muốn sử dụng

const areEqual = (str1, str2, locale = "en-US") =>
  str1.localeCompare(str2, locale, { sensitivity: "accent" }) === 0;

areEqual("ß", "ss", "de"); // false
areEqual("ı", "I", "tr"); // true
3 (để bắt chước hành vi tích hợp) hoặc
const areEqual = (str1, str2, locale = "en-US") =>
  str1.localeCompare(str2, locale, { sensitivity: "accent" }) === 0;

areEqual("ß", "ss", "de"); // false
areEqual("ı", "I", "tr"); // true
5 (để xử lý các giá trị biểu tượng mà không gây ra lỗi), nhưng bạn không nên sử dụng
const strPrim = "foo"; // A literal is a string primitive
const strPrim2 = String(1); // Coerced into the string primitive "1"
const strPrim3 = String(true); // Coerced into the string primitive "true"
const strObj = new String(strPrim); // String with new returns a string wrapper object.

console.log(typeof strPrim); // "string"
console.log(typeof strPrim2); // "string"
console.log(typeof strPrim3); // "string"
console.log(typeof strObj); // "object"
1.

Trình tự thoát

Các ký tự đặc biệt có thể được mã hóa bằng cách sử dụng trình tự thoát:

Trình tự thoátĐiểm mã Unicode
const strPrim = "foo"; // A literal is a string primitive
const strPrim2 = String(1); // Coerced into the string primitive "1"
const strPrim3 = String(true); // Coerced into the string primitive "true"
const strObj = new String(strPrim); // String with new returns a string wrapper object.

console.log(typeof strPrim); // "string"
console.log(typeof strPrim2); // "string"
console.log(typeof strPrim3); // "string"
console.log(typeof strObj); // "object"
5
ký tự null (u+0000 null)
const strPrim = "foo"; // A literal is a string primitive
const strPrim2 = String(1); // Coerced into the string primitive "1"
const strPrim3 = String(true); // Coerced into the string primitive "true"
const strObj = new String(strPrim); // String with new returns a string wrapper object.

console.log(typeof strPrim); // "string"
console.log(typeof strPrim2); // "string"
console.log(typeof strPrim3); // "string"
console.log(typeof strObj); // "object"
6
Trích dẫn đơn (apostrophe U+0027)
const strPrim = "foo"; // A literal is a string primitive
const strPrim2 = String(1); // Coerced into the string primitive "1"
const strPrim3 = String(true); // Coerced into the string primitive "true"
const strObj = new String(strPrim); // String with new returns a string wrapper object.

console.log(typeof strPrim); // "string"
console.log(typeof strPrim2); // "string"
console.log(typeof strPrim3); // "string"
console.log(typeof strObj); // "object"
7
Báo giá kép (dấu ngoặc kép U+0022)
const strPrim = "foo"; // A literal is a string primitive
const strPrim2 = String(1); // Coerced into the string primitive "1"
const strPrim3 = String(true); // Coerced into the string primitive "true"
const strObj = new String(strPrim); // String with new returns a string wrapper object.

console.log(typeof strPrim); // "string"
console.log(typeof strPrim2); // "string"
console.log(typeof strPrim3); // "string"
console.log(typeof strObj); // "object"
8
Backslash (U+005C Solidus ngược)
const strPrim = "foo"; // A literal is a string primitive
const strPrim2 = String(1); // Coerced into the string primitive "1"
const strPrim3 = String(true); // Coerced into the string primitive "true"
const strObj = new String(strPrim); // String with new returns a string wrapper object.

console.log(typeof strPrim); // "string"
console.log(typeof strPrim2); // "string"
console.log(typeof strPrim3); // "string"
console.log(typeof strObj); // "object"
9
NEWLINE (U+000A Line Feed; LF)
const s1 = '2 + 2';              // creates a string primitive
const s2 = new String('2 + 2');  // creates a String object
console.log(eval(s1));           // returns the number 4
console.log(eval(s2));           // returns the string "2 + 2"
0
Trở về vận chuyển (U+000D Trở lại vận chuyển; CR)
const s1 = '2 + 2';              // creates a string primitive
const s2 = new String('2 + 2');  // creates a String object
console.log(eval(s1));           // returns the number 4
console.log(eval(s2));           // returns the string "2 + 2"
1
Tab dọc (Tabline dòng U+000B)
const s1 = '2 + 2';              // creates a string primitive
const s2 = new String('2 + 2');  // creates a String object
console.log(eval(s1));           // returns the number 4
console.log(eval(s2));           // returns the string "2 + 2"
2
Tab (U+0009 Tabaration)
const s1 = '2 + 2';              // creates a string primitive
const s2 = new String('2 + 2');  // creates a String object
console.log(eval(s1));           // returns the number 4
console.log(eval(s2));           // returns the string "2 + 2"
3
Backspace (U+0008 Backspace)
const s1 = '2 + 2';              // creates a string primitive
const s2 = new String('2 + 2');  // creates a String object
console.log(eval(s1));           // returns the number 4
console.log(eval(s2));           // returns the string "2 + 2"
4
Form Feed (U+000C Form Feed)
const s1 = '2 + 2';              // creates a string primitive
const s2 = new String('2 + 2');  // creates a String object
console.log(eval(s1));           // returns the number 4
console.log(eval(s2));           // returns the string "2 + 2"
5, trong đó
const s1 = '2 + 2';              // creates a string primitive
const s2 = new String('2 + 2');  // creates a String object
console.log(eval(s1));           // returns the number 4
console.log(eval(s2));           // returns the string "2 + 2"
6 chính xác là 4 chữ số hex trong phạm vi ________ 97. ví dụ:
const s1 = '2 + 2';              // creates a string primitive
const s2 = new String('2 + 2');  // creates a String object
console.log(eval(s1));           // returns the number 4
console.log(eval(s2));           // returns the string "2 + 2"
9 giống như
const strPrim = "foo"; // A literal is a string primitive
const strPrim2 = String(1); // Coerced into the string primitive "1"
const strPrim3 = String(true); // Coerced into the string primitive "true"
const strObj = new String(strPrim); // String with new returns a string wrapper object.

console.log(typeof strPrim); // "string"
console.log(typeof strPrim2); // "string"
console.log(typeof strPrim3); // "string"
console.log(typeof strObj); // "object"
9 (nguồn cấp dữ liệu);
const string4 = new String("A String object");
01 là
const string4 = new String("A String object");
02
Điểm mã Unicode giữa
const string4 = new String("A String object");
03 và
const string4 = new String("A String object");
04 (mặt phẳng đa ngôn ngữ Unicode)
________ 105, ____ 106 106 ví dụ:
const string4 = new String("A String object");
11 giống như
const strPrim = "foo"; // A literal is a string primitive
const strPrim2 = String(1); // Coerced into the string primitive "1"
const strPrim3 = String(true); // Coerced into the string primitive "true"
const strObj = new String(strPrim); // String with new returns a string wrapper object.

console.log(typeof strPrim); // "string"
console.log(typeof strPrim2); // "string"
console.log(typeof strPrim3); // "string"
console.log(typeof strObj); // "object"
9 (nguồn cấp dữ liệu);
const string4 = new String("A String object");
13 là
const string4 = new String("A String object");
02
Điểm mã Unicode giữa
const string4 = new String("A String object");
03 và
const string4 = new String("A String object");
16 (toàn bộ Unicode)
const string4 = new String("A String object");
17, trong đó
const string4 = new String("A String object");
18 chính xác là 2 chữ số hex trong phạm vi ________ 119 ____________ 120; ví dụ:
const string4 = new String("A String object");
21 giống như
const strPrim = "foo"; // A literal is a string primitive
const strPrim2 = String(1); // Coerced into the string primitive "1"
const strPrim3 = String(true); // Coerced into the string primitive "true"
const strObj = new String(strPrim); // String with new returns a string wrapper object.

console.log(typeof strPrim); // "string"
console.log(typeof strPrim2); // "string"
console.log(typeof strPrim3); // "string"
console.log(typeof strObj); // "object"
9 (nguồn cấp dữ liệu);
const string4 = new String("A String object");
23 là
const string4 = new String("A String object");
02
Điểm mã Unicode giữa
const string4 = new String("A String object");
03 và
const string4 = new String("A String object");
26 (các khối bổ sung Latin và Latin-1 cơ bản; tương đương với ISO-8859-1)

Chuỗi dài theo nghĩa đen

Đôi khi, mã của bạn sẽ bao gồm các chuỗi rất dài. Thay vì có các dòng tiếp tục vô tận hoặc bọc theo ý thích của trình soạn thảo của bạn, bạn có thể muốn chia chuỗi chuỗi thành nhiều dòng trong mã nguồn mà không ảnh hưởng đến nội dung chuỗi thực tế.

Bạn có thể sử dụng toán tử

const strPrim = "foo"; // A literal is a string primitive
const strPrim2 = String(1); // Coerced into the string primitive "1"
const strPrim3 = String(true); // Coerced into the string primitive "true"
const strObj = new String(strPrim); // String with new returns a string wrapper object.

console.log(typeof strPrim); // "string"
console.log(typeof strPrim2); // "string"
console.log(typeof strPrim3); // "string"
console.log(typeof strObj); // "object"
0 để nối nhiều chuỗi lại với nhau, như thế này:

const string4 = new String("A String object");
1

Hoặc bạn có thể sử dụng ký tự dấu gạch chéo ngược (

const string4 = new String("A String object");
28) ở cuối mỗi dòng để cho biết rằng chuỗi sẽ tiếp tục trên dòng tiếp theo. Đảm bảo không có không gian hoặc bất kỳ ký tự nào khác sau dấu gạch chéo ngược (ngoại trừ ngắt dòng) hoặc như một thụt lề; Nếu không nó sẽ không hoạt động.

const string4 = new String("A String object");
2

Cả hai phương pháp trên dẫn đến các chuỗi giống hệt nhau.

Các ký tự UTF-16, CodePoints Unicode và các cụm đồ họa

Các chuỗi được thể hiện cơ bản là chuỗi của các đơn vị mã UTF-16. Trong mã hóa UTF-16, mọi đơn vị mã dài chính xác 16 bit. Điều này có nghĩa là có tối đa 216 hoặc 65536 ký tự có thể đại diện là đơn vị mã UTF-16 đơn. Bộ ký tự này được gọi là mặt phẳng đa ngôn ngữ cơ bản (BMP) và bao gồm các nhân vật phổ biến nhất như bảng chữ cái Latin, Hy Lạp, Cyrillic, cũng như nhiều nhân vật Đông Á. Mỗi đơn vị mã có thể được viết trong một chuỗi với

const string4 = new String("A String object");
29 theo sau là chính xác bốn chữ số hex.

Tuy nhiên, toàn bộ bộ ký tự Unicode lớn hơn nhiều so với 65536. Các ký tự phụ được lưu trữ trong UTF-16 dưới dạng các cặp thay thế, là các cặp đơn vị mã 16 bit đại diện cho một ký tự. Để tránh sự mơ hồ, hai phần của cặp phải nằm giữa

const string4 = new String("A String object");
30 và
const string4 = new String("A String object");
31 và các đơn vị mã này không được sử dụng để mã hóa các ký tự đơn vị đơn. Do đó, "người thay thế đơn độc" thường không phải là giá trị hợp lệ cho thao tác chuỗi - ví dụ,
const string4 = new String("A String object");
32 sẽ ném
const string4 = new String("A String object");
33 cho các chất thay thế đơn độc. Mỗi ký tự Unicode, bao gồm một hoặc hai đơn vị mã UTF-16, còn được gọi là CodePoint Unicode. Mỗi codepoint Unicode có thể được viết trong một chuỗi với
const string4 = new String("A String object");
34 trong đó
const string4 = new String("A String object");
35 đại diện cho 1 chữ số hex.

Trên đầu các ký tự Unicode, có một số chuỗi các ký tự Unicode nên được coi là một đơn vị trực quan, được gọi là cụm đồ họa. Trường hợp phổ biến nhất là biểu tượng cảm xúc: nhiều biểu tượng cảm xúc có một loạt các biến thể thực sự được hình thành bởi nhiều biểu tượng cảm xúc, thường được nối bởi ký tự (

const string4 = new String("A String object");
36).

Bạn phải cẩn thận với mức độ của các ký tự bạn đang lặp lại. Ví dụ:

const string4 = new String("A String object");
37 sẽ chia theo đơn vị mã UTF-16 và sẽ tách các cặp thay thế. Các chỉ mục chuỗi cũng đề cập đến chỉ mục của từng đơn vị mã UTF-16. Mặt khác,
const string4 = new String("A String object");
38 lặp lại bằng các codepoint Unicode. Lặp lại thông qua các cụm đồ họa sẽ yêu cầu một số mã tùy chỉnh.

const string4 = new String("A String object");
3

Người xây dựng

'cat'.charAt(1) // gives value "a"
1

Tạo một đối tượng

const string4 = new String("A String object");
7 mới. Nó thực hiện chuyển đổi loại khi được gọi là một hàm, thay vì là một hàm tạo, thường hữu ích hơn.

Phương pháp tĩnh

const string4 = new String("A String object");
41

Trả về một chuỗi được tạo bằng cách sử dụng chuỗi các giá trị Unicode được chỉ định.

const string4 = new String("A String object");
42

Trả về một chuỗi được tạo bằng cách sử dụng chuỗi mã được chỉ định.

const string4 = new String("A String object");
43

Trả về một chuỗi được tạo từ một chuỗi mẫu thô.

Thuộc tính thể hiện

const string4 = new String("A String object");
44

Phản ánh

const string4 = new String("A String object");
8 của chuỗi. Chỉ đọc.

Phương pháp thể hiện

const string4 = new String("A String object");
46

Trả về ký tự (chính xác là một đơn vị mã UTF-16) tại

const string4 = new String("A String object");
47 được chỉ định. Chấp nhận số nguyên âm, đếm ngược từ ký tự chuỗi cuối cùng.

const string4 = new String("A String object");
48

Trả về ký tự (chính xác là một đơn vị mã UTF-16) tại

const string4 = new String("A String object");
47 được chỉ định.

const string4 = new String("A String object");
50

Trả về một số là giá trị đơn vị mã UTF-16 tại

const string4 = new String("A String object");
47 đã cho.

const string4 = new String("A String object");
52

Trả về một số nguyên không âm là giá trị điểm mã của điểm mã được mã hóa UTF-16 bắt đầu từ

const string4 = new String("A String object");
53 được chỉ định.

const string4 = new String("A String object");
54

Kết hợp văn bản của hai chuỗi (hoặc nhiều) và trả về một chuỗi mới.

const string4 = new String("A String object");
55

Xác định xem chuỗi cuộc gọi có chứa

const string4 = new String("A String object");
56 hay không.

const string4 = new String("A String object");
57

Xác định xem một chuỗi kết thúc với các ký tự của chuỗi

const string4 = new String("A String object");
56.

const string4 = new String("A String object");
59

Trả về chỉ mục trong đối tượng gọi

const string4 = new String("A String object");
7 của lần xuất hiện đầu tiên của
const string4 = new String("A String object");
61 hoặc
const string4 = new String("A String object");
62 nếu không tìm thấy.

const string4 = new String("A String object");
63

Trả về chỉ mục trong đối tượng gọi

const string4 = new String("A String object");
7 của lần xuất hiện cuối cùng của
const string4 = new String("A String object");
61 hoặc
const string4 = new String("A String object");
62 nếu không tìm thấy.

const string4 = new String("A String object");
67

Trả về một số cho biết liệu chuỗi tham chiếu

const string4 = new String("A String object");
68 xuất hiện trước, sau hoặc tương đương với chuỗi đã cho theo thứ tự sắp xếp.

const string4 = new String("A String object");
69

Được sử dụng để phù hợp với biểu thức chính quy

const string4 = new String("A String object");
70 với một chuỗi.

const string4 = new String("A String object");
71

Trả về một trình lặp lại của tất cả các trận đấu của ____ 170.

const string4 = new String("A String object");
73

Trả về dạng chuẩn hóa unicode của giá trị chuỗi gọi.

const string4 = new String("A String object");
74

Các miếng đệm hiện tại từ cuối với một chuỗi đã cho và trả về một chuỗi mới có độ dài

const string4 = new String("A String object");
75.

const string4 = new String("A String object");
76

Các miếng đệm hiện tại từ đầu với một chuỗi đã cho và trả về một chuỗi mới có độ dài

const string4 = new String("A String object");
75.

const string4 = new String("A String object");
78

Trả về một chuỗi bao gồm các phần tử của đối tượng được lặp lại

const string4 = new String("A String object");
79 lần.

const string4 = new String("A String object");
80

Được sử dụng để thay thế các lần xuất hiện của

const string4 = new String("A String object");
81 bằng cách sử dụng
const string4 = new String("A String object");
82.
const string4 = new String("A String object");
81 có thể là một chuỗi hoặc biểu thức chính quy và
const string4 = new String("A String object");
82 có thể là một chuỗi hoặc hàm.

const string4 = new String("A String object");
85

Được sử dụng để thay thế tất cả các lần xuất hiện của

const string4 = new String("A String object");
81 bằng cách sử dụng
const string4 = new String("A String object");
82.
const string4 = new String("A String object");
81 có thể là một chuỗi hoặc biểu thức chính quy và
const string4 = new String("A String object");
82 có thể là một chuỗi hoặc hàm.

const string4 = new String("A String object");
90

Tìm kiếm một trận đấu giữa biểu thức thông thường

const string4 = new String("A String object");
70 và chuỗi gọi.

const string4 = new String("A String object");
92

Trích xuất một phần của chuỗi và trả về một chuỗi mới.

const string4 = new String("A String object");
93

Trả về một mảng các chuỗi được điền bằng cách chia chuỗi cuộc gọi khi xuất hiện của chuỗi con

const string4 = new String("A String object");
94.

const string4 = new String("A String object");
95

Xác định xem chuỗi gọi bắt đầu với các ký tự của chuỗi

const string4 = new String("A String object");
56.

const string4 = new String("A String object");
97

Trả về một chuỗi mới chứa các ký tự của chuỗi gọi từ (hoặc giữa) chỉ mục được chỉ định (hoặc chỉ số).

const string4 = new String("A String object");
98

Các ký tự trong một chuỗi được chuyển đổi thành chữ thường trong khi tôn trọng ngôn ngữ hiện tại.

Đối với hầu hết các ngôn ngữ, điều này sẽ trả về giống như

'cat'.charAt(1) // gives value "a"
8.

'cat'.charAt(1) // gives value "a"
00

Các ký tự trong một chuỗi được chuyển đổi thành chữ hoa trong khi tôn trọng ngôn ngữ hiện tại.

Đối với hầu hết các ngôn ngữ, điều này sẽ trả về giống như

'cat'.charAt(1) // gives value "a"
7.

'cat'.charAt(1) // gives value "a"
02

Trả về giá trị chuỗi cuộc gọi được chuyển đổi thành chữ thường.

'cat'.charAt(1) // gives value "a"
03

Trả về một chuỗi đại diện cho đối tượng được chỉ định. Ghi đè phương thức

'cat'.charAt(1) // gives value "a"
04.

'cat'.charAt(1) // gives value "a"
05

Trả về giá trị chuỗi cuộc gọi được chuyển đổi thành chữ hoa.

'cat'.charAt(1) // gives value "a"
06

Trims Whitespace từ đầu và cuối chuỗi.

'cat'.charAt(1) // gives value "a"
07

Trims Whitespace từ đầu chuỗi.

'cat'.charAt(1) // gives value "a"
08

Trims Whitespace từ cuối chuỗi.

'cat'.charAt(1) // gives value "a"
09

Trả về giá trị nguyên thủy của đối tượng được chỉ định. Ghi đè phương thức

'cat'.charAt(1) // gives value "a"
10.

'cat'.charAt(1) // gives value "a"
11

Trả về một đối tượng lặp mới lặp lại các điểm mã của giá trị chuỗi, trả về từng điểm mã dưới dạng giá trị chuỗi.

Phương thức bao bọc HTML

CẢNH BÁO: Không dùng nữa. Tránh những phương pháp này. Deprecated. Avoid these methods.

Chúng được sử dụng hạn chế, vì chúng dựa trên tiêu chuẩn HTML rất cũ và chỉ cung cấp một tập hợp con của các thẻ và thuộc tính HTML hiện có. Nhiều người trong số họ tạo ra đánh dấu không dùng nữa hoặc không chuẩn ngày nay. Ngoài ra, họ thực hiện quá trình ghép chuỗi đơn giản mà không cần xác nhận hoặc vệ sinh, điều này khiến chúng trở thành mối đe dọa bảo mật tiềm ẩn khi được chèn trực tiếp bằng cách sử dụng

'cat'.charAt(1) // gives value "a"
12. Sử dụng các API DOM như
'cat'.charAt(1) // gives value "a"
13 thay thế.

'cat'.charAt(1) // gives value "a"
14 không dùng nữaDeprecated

'cat'.charAt(1) // gives value "a"
15 (mục tiêu siêu văn bản)

'cat'.charAt(1) // gives value "a"
16 DEVERATED
'cat'.charAt(1) // gives value "a"
17____218 DEVERATED
'cat'.charAt(1) // gives value "a"
19
'cat'.charAt(1) // gives value "a"
20Deprecated
'cat'.charAt(1) // gives value "a"
17
'cat'.charAt(1) // gives value "a"
18 Deprecated
'cat'.charAt(1) // gives value "a"
19
'cat'.charAt(1) // gives value "a"
20 Deprecated
'cat'.charAt(1) // gives value "a"
21
'cat'.charAt(1) // gives value "a"
22 Deprecated
'cat'.charAt(1) // gives value "a"
23
'cat'.charAt(1) // gives value "a"
24 Deprecated
'cat'.charAt(1) // gives value "a"
25
'cat'.charAt(1) // gives value "a"
26 Deprecated
'cat'.charAt(1) // gives value "a"
27
'cat'.charAt(1) // gives value "a"
28 Deprecated
'cat'.charAt(1) // gives value "a"
29
'cat'.charAt(1) // gives value "a"
30 Deprecated

'cat'.charAt(1) // gives value "a"
31 (liên kết đến URL)

'cat'.charAt(1) // gives value "a"
32 DEVERATED
'cat'.charAt(1) // gives value "a"
33
'cat'.charAt(1) // gives value "a"
34 DEVERATED
'cat'.charAt(1) // gives value "a"
35
'cat'.charAt(1) // gives value "a"
36 DEVERATED
'cat'.charAt(1) // gives value "a"
37____238Deprecated
'cat'.charAt(1) // gives value "a"
33
'cat'.charAt(1) // gives value "a"
34 Deprecated
'cat'.charAt(1) // gives value "a"
35
'cat'.charAt(1) // gives value "a"
36 Deprecated
'cat'.charAt(1) // gives value "a"
37
'cat'.charAt(1) // gives value "a"
38 Deprecated
'cat'.charAt(1) // gives value "a"
39

Lưu ý rằng các phương thức này không kiểm tra xem bản thân chuỗi có chứa thẻ HTML hay không, do đó có thể tạo HTML không hợp lệ:

const string4 = new String("A String object");
4

Việc thoát duy nhất họ làm là thay thế

'cat'.charAt(1) // gives value "a"
40 trong giá trị thuộc tính (đối với
'cat'.charAt(1) // gives value "a"
41,
'cat'.charAt(1) // gives value "a"
42,
'cat'.charAt(1) // gives value "a"
43 và
'cat'.charAt(1) // gives value "a"
44) với
'cat'.charAt(1) // gives value "a"
45.

const string4 = new String("A String object");
5

Ví dụ

Chuyển đổi chuỗi

Có thể sử dụng

const string4 = new String("A String object");
7 như một phương án thay thế đáng tin cậy hơn, vì nó hoạt động khi được sử dụng trên
const areEqualInUpperCase = (str1, str2) =>
  str1.toUpperCase() === str2.toUpperCase();
const areEqualInLowerCase = (str1, str2) =>
  str1.toLowerCase() === str2.toLowerCase();

areEqualInUpperCase("ß", "ss"); // true; should be false
areEqualInLowerCase("ı", "I"); // false; should be true
0 và
function areEqualCaseInsensitive(str1, str2) {
  return str1.toUpperCase() === str2.toUpperCase();
}
8. Ví dụ:

const string4 = new String("A String object");
6

Thông số kỹ thuật

Sự chỉ rõ
Đặc tả ngôn ngữ Ecmascript # Sec-String-Encents
# sec-string-objects

Tính tương thích của trình duyệt web

Bảng BCD chỉ tải trong trình duyệt

Xem thêm

Chuỗi [] trong TypeScript là gì?

Trong TypeScript, chuỗi là chuỗi các giá trị char và cũng được coi là một đối tượng.Nó là một loại loại dữ liệu nguyên thủy được sử dụng để lưu trữ dữ liệu văn bản.Các giá trị chuỗi được sử dụng giữa các dấu ngoặc kép hoặc dấu ngoặc kép và cũng mảng các ký tự hoạt động giống như một chuỗi.sequence of char values and also considered as an object. It is a type of primitive data type that is used to store text data. The string values are used between single quotation marks or double quotation marks, and also array of characters works same as a string.

Tại sao $ {} được sử dụng trong JavaScript?

Một trình giữ chỗ được đại diện bởi $ {}, với bất cứ điều gì trong các dấu ngoặc xoăn được coi là JavaScript và bất cứ thứ gì bên ngoài các giá trị được coi là một chuỗi: Phương thức const = 'Nội suy' const DynamicsTring = `Chuỗi này đang sử dụng $ {Phương thức}. is represented by ${} , with anything within the curly brackets treated as JavaScript and anything outside the brackets treated as a string: const method = 'interpolation' const dynamicString = `This string is using ${method}.