Computer >> Máy Tính >  >> Lập trình >> Javascript

Làm thế nào để lấy giá trị nguyên thủy của chuỗi trong Javascript?

Trong JavaScript có 5 kiểu nguyên thủy:undefined, null, boolean, string và number. Mọi thứ khác là một đối tượng.

Các kiểu nguyên thủy boolean, string và number có thể được bao bọc bởi đối tượng wrapper của chúng, tức là các thể hiện của các hàm tạo Boolean, String và Number tương ứng.

Để lấy lại các giá trị nguyên thủy từ các trình bao bọc đối tượng, chúng ta cần gọi phương thức valueOf trên các đối tượng.

Ví dụ

console.log(typeof true);
console.log(typeof new Boolean(true));
console.log(typeof (new Boolean(true)).valueOf());
console.log(typeof "abc");
console.log(typeof new String("abc"));
console.log(typeof (new String("abc")).valueOf());
console.log(typeof 123);
console.log(typeof new Number(123));
console.log(typeof (new Number(123)).valueOf());

Đầu ra

"boolean"
"object"
"boolean"
"string"
"object"
"string"
"number"
"object"
"number"

Như bạn có thể tìm hiểu ở đây, các loại nguyên thủy là boolean, chuỗi hoặc số trong khi trình bao bọc của chúng là đối tượng. Ngay sau khi chúng tôi nhận được các giá trị bằng cách sử dụng valueOf, chúng tôi lại lấy lại các giá trị ban đầu.

Tuy nhiên, các nguyên thủy cũng có các thuộc tính trong JS. Điều này là do JavaScript ép buộc giữa các nguyên thủy và các đối tượng dựa trên nhu cầu. Vì vậy, nếu chúng ta truy cập thuộc tính length trên nguyên thủy này, thì thuộc tính này được bao bọc trong một đối tượng, thuộc tính này được truy cập và nguyên thủy sẽ được mở lại.