Chuỗi sang html javascript

Chuỗi đối tượng giúp bạn làm việc với một dãy ký tự;

Khi JavaScript tự động thay đổi biến giữa chuỗi gốc và chuỗi đối tượng, bạn có thể gọi bất kỳ phương thức nào giúp đỡ bất kỳ chuỗi đối tượng nào trên chuỗi gốc

Cú pháp tạo chuỗi đối tượng

Sử dụng cú pháp sau để tạo chuỗi đối tượng

var val = new String(string);

Chuỗi tham số là một dãy các ký tự đã được mã hóa theo một cách chính xác

Thuộc tính của String

Dưới đây là danh sách các thuộc tính của chuỗi đối tượng và mô tả của nó

Thuộc tínhMiêu tả

người xây dựng

Trả về một tham chiếu tới String hàm tạo đối tượng đó

chiều dài

Trả về độ dài của chuỗi

nguyên mẫu

Nguyên mẫu thuộc tính cho phép bạn bổ sung các thuộc tính và phương thức cho một đối tượng

The method of String

Dưới đây là danh sách các phương thức trả về một bản sao của chuỗi được gói bên trong một thẻ HTML.

Các chuỗi rất hữu ích để giữ dữ liệu có thể được biểu diễn dưới dạng văn bản. Một số thao tác đượ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à nối chúng bằng phương thức , kiểm tra sự tồn tại hoặc vị trí của các chuỗi con bằng phương thức
const string4 = new String("A String object");
9 hoặc trích xuất các chuỗi con bằng phương thức
"cat".charAt(1); // gives value "a"
0

Chuỗi có thể được tạo dưới dạng nguyên hàm, từ chuỗi ký tự hoặc dưới dạng đố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 điểm khác biệt và cảnh báo quan trọng khác. Xem bên dưới

Các ký tự chuỗi có thể được chỉ định bằng cách sử dụng dấu ngoặc đơn hoặc dấu ngoặc kép, được xử lý giống hệt nhau hoặc sử dụng ký tự backtick `. Biểu mẫu cuối cùng này chỉ định một mẫu chữ. với biểu mẫu này, bạn có thể nội suy các biểu thức

Có hai cách để truy cập một ký tự riêng lẻ 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 như 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 dấu ngoặc để 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ể ghi cũng như không thể định cấu hình. (Xem

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

Trong C, hàm

"cat".charAt(1); // gives value "a"
4 dùng để so sánh chuỗi. Trong JavaScript, bạn chỉ cần sử dụng toán tử nhỏ 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 chuỗi phân biệt chữ hoa chữ thường. Một cách phổ biến để so sánh các chuỗi không phân biệt chữ hoa chữ thường là chuyển đổi cả hai thành cùng một kiểu chữ (chữ hoa hoặc chữ thường) trước khi so sánh chúng

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

Việc lựa chọn chuyển đổi bằng

"cat".charAt(1); // gives value "a"
7 hay
"cat".charAt(1); // gives value "a"
8 hầu hết là tùy ý và không cái nào là hoàn toàn chắc chắn khi mở rộng ra ngoài bảng chữ cái Latinh. Ví dụ: chữ cái viết 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 chữ cái tiếng Thổ Nhĩ Kỳ
"cat"[1]; // gives value "a"
3 sẽ bị báo cáo sai là không bằng 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 mạnh mẽ và nhận biết về ngôn ngữ để thử nghiệm tính bình đẳng không phân biệt chữ hoa chữ thường là sử dụng API

"cat"[1]; // gives value "a"
7 hoặc phương thức
"cat"[1]; // gives value "a"
8 của chuỗi — chúng có chung giao diện — với tùy chọn đượ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 thức

"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 chuỗi theo cách nhận biết ngôn ngữ

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 này 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 ký tự (được biểu thị bằng dấu ngoặc kép hoặc dấu ngoặc đơn) và chuỗi được trả về từ lệnh gọi

const string4 = new String("A String object");
7 trong ngữ cảnh không phải hàm tạo (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 ngữ cảnh mà một phương thức được gọi trên một chuỗi nguyên thủy hoặc xảy ra tra cứu thuộc tính, thay vào đó, JavaScript sẽ tự động bọ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 sẽ hiếm khi thấy mình sử dụng

const string4 = new String("A String object");
7 làm hàm tạo

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

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 bản gốc được chuyển đến
function areEqualCaseInsensitive(str1, str2) {
  return str1.toUpperCase() === str2.toUpperCase();
}
2 được coi là mã nguồn; . 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ị hỏng khi gặp các đối tượng

const string4 = new String("A String object");
7 khi nó mong đợi một chuỗi nguyên thủy thay thế, mặc dù nhìn chung, các tác giả không cần 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ượng ban đầu của nó bằng phương thức
function areEqualCaseInsensitive(str1, str2) {
  return str1.toUpperCase() === str2.toUpperCase();
}
6

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

Nhiều hoạt động tích hợp mong đợi các chuỗi trước tiên ép buộc các đối số của chúng đối với các chuỗi (đó là lý do phần lớn 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 hàm chuỗi). có thể được tóm tắt như sau

  • Các chuỗi được trả về nguyên trạng
  • 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;
  • Các số được chuyển đổi với cùng một thuật toán 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
    
    6
  • BigInts được chuyển đổi với cùng một thuật toán 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
    
    6
  • Biểu tượng ném một
    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 đầu tiên bằng cách gọi các phương thức
    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 _______31_______0 là gợi ý), _____31_______1 và ____15_______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 chữ.
    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 đượ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ừ việc các Ký hiệu không đưa ra giá trị
    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 mà 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 Ký hiệu
  • 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 cưỡng chế toán hạng của nó thành một kiểu 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 cưỡng chế chuỗi thông thường. Xem trang tham khảo 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 sẵn) 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ị ký hiệu 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

Các ký tự đặc biệt có thể được mã hóa bằng các chuỗi 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"
5ký 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"
6dấu nháy đơn (U+0027 DẤU HIỆU)
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"
7dấu nháy kép (U+0022 QUOTATION MARK)
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"
8dấu gạch chéo ngược (U+005C REVERSE SOLIDUS)
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"
9dòng mới (U+000A LINE FEED; LFU)_______ 0____45 vận chuyển trở lại (__ 0____45 . g. ,
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 với
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 (NỘP DẪN DÒNG); . g. ,
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 (NỘP DẪN DÒNG); . g. ,
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 (NỘP DẪN DÒNG);

Đô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 kéo dài vô tận hoặc ngắt quãng theo ý thích của trình soạn thảo, bạn có thể muốn ngắt chuỗi cụ thể 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ự 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 ở dòng tiếp theo. Đảm bảo không có khoảng trắng hoặc bất kỳ ký tự nào khác sau dấu gạch chéo ngược (ngoại trừ dấu ngắt dòng) hoặc dưới dạng thụt lề;

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

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

Các chuỗi được biểu diễn cơ bản dưới dạng chuỗi 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ể được biểu thị dưới dạng đơn vị mã UTF-16. Bộ ký tự này được gọi là , và bao gồm các ký tự phổ biến nhất như bảng chữ cái Latinh, Hy Lạp, Cyrillic, cũng như nhiều ký tự Đông Á. Mỗi đơn vị mã có thể được viết bằng một chuỗi có

const string4 = new String("A String object");
29 theo sau chính xác là 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ự bổ sung đượ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 trong khoảng từ

const string4 = new String("A String object");
30 đến
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 mã. Do đó, "các chất thay thế đơn độc" thường không phải là các giá trị hợp lệ để thao tác chuỗi — ví dụ:
const string4 = new String("A String object");
32 sẽ đưa ra một
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à điểm mã Unicode. Mỗi điểm mã Unicode có thể được viết trong một chuỗi có
const string4 = new String("A String object");
34 trong đó
const string4 = new String("A String object");
35 đại diện cho 1–6 chữ số hex

On top of Unicode characters, there are certain sequences of Unicode characters that should be treated as one visual unit, known as a grapheme cluster. The most common case is emojis: many emojis that have a range of variations are actually formed by multiple emojis, usually joined by the (

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

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

const string4 = new String("A String object");
37 sẽ phân chia theo đơn vị mã UTF-16 và sẽ phân tách các cặp thay thế. 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 theo điểm mã Unicode. Lặp lại qua các cụm grapheme sẽ yêu cầu một số mã tùy chỉnh

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

"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 kiểu khi được gọi là hàm, thay vì hàm tạo, điều này thường hữu ích hơn

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 giá trị Unicode đã 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 điểm mã đã 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ô

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

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

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

const string4 = new String("A String object");
47 đã 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 một đơn vị mã UTF-16) tại

const string4 = new String("A String object");
47 đã 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 Số 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 đã chỉ định

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

Kết hợp văn bản của hai (hoặc nhiều) chuỗi 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 có kết thúc bằng 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 ____1_______61 hoặc ______1_______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 ___1_______7 của lần xuất hiện cuối cùng của ____1_______61 hoặc ___1_______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 có trước, sau hoặc tương đương với chuỗi đã cho theo thứ tự sắp xếp hay không

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

Được sử dụng để khớp 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 iterator của tất cả các kết quả khớp của

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

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

Đệm chuỗi hiện tại từ cuối bằng 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

Đệm chuỗi hiện tại từ đầu bằng 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 sự trùng khớp giữa biểu thức chính quy

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 tách chuỗi gọi tại các lần 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 có bắt đầu bằng 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 (hoặc các chỉ mục) đã chỉ định

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 gọi được chuyển 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 gọi được chuyển thành chữ hoa

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

Cắt khoảng trắng ở đầu và cuối chuỗi

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

Cắt khoảng trắng từ đầu chuỗi

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

Cắt khoảng trắng ở 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 trình lặp mới lặp qua các điểm mã của giá trị Chuỗi, trả về mỗi điểm mã dưới dạng giá trị Chuỗi

Cảnh báo. không dùng nữa. Tránh các phương pháp này

Chúng được sử dụng hạn chế vì chúng dựa trên một tiêu chuẩn HTML rất cũ và chỉ cung cấp một tập hợp con các thẻ và thuộc tính HTML hiện có. Nhiều người trong số họ tạo đánh dấu không dùng nữa hoặc không chuẩn ngày nay. Ngoài ra, chúng thực hiện nối chuỗi đơn giản mà không có bất kỳ xác thực hoặc vệ sinh nào, đ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. Thay vào đó, hãy sử dụng API DOM chẳng hạn như
"cat".charAt(1); // gives value "a"
13

"cat".charAt(1); // gives value "a"
14 Không dùng nữa

(mục tiêu siêu văn bản)

"cat".charAt(1); // gives value "a"
16 Không dùng nữa
"cat".charAt(1); // gives value "a"
17
"cat".charAt(1); // gives value "a"
18 Không dùng nữa
"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"
26 Deprecated
"cat".charAt(1); // gives value "a"
28 Deprecated
"cat".charAt(1); // gives value "a"
29
"cat".charAt(1); // gives value "a"
30 Deprecated

(liên kết tới URL)

"cat".charAt(1); // gives value "a"
32 Không dùng nữa
"cat".charAt(1); // gives value "a"
33
"cat".charAt(1); // gives value "a"
34 Không dùng nữa
"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 pháp này không kiểm tra xem bản thân chuỗi có chứa các thẻ HTML hay không, vì vậy có thể tạo HTML không hợp lệ

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

Cách thoát duy nhất mà 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) bằng
"cat".charAt(1); // gives value "a"
45

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

Có thể sử dụng

const string4 = new String("A String object");
7 như một giải pháp thay thế
const areEqual = (str1, str2, locale = "en-US") =>
  str1.localeCompare(str2, locale, { sensitivity: "accent" }) === 0;

areEqual("ß", "ss", "de"); // false
areEqual("ı", "I", "tr"); // true
1 đá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ụ