Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Lấy giá trị primitive của String trong JavaScript

JS có 5 primitive type: undefined, null, boolean, string, number (và symbol, bigint ES6+). Còn lại là object.

Primitive boolean, string, number có **wrapper object**: Boolean, String, Number.

Lấy primitive từ wrapper: .valueOf()

console.log(typeof true);                    // "boolean"
console.log(typeof new Boolean(true));       // "object"
console.log(typeof new Boolean(true).valueOf()); // "boolean"

console.log(typeof "abc");                   // "string"
console.log(typeof new String("abc"));       // "object"
console.log(typeof new String("abc").valueOf()); // "string"

console.log(typeof 123);                     // "number"
console.log(typeof new Number(123));         // "object"
console.log(typeof new Number(123).valueOf()); // "number"

Auto-coercion

JS tự chuyển primitive ↔ object khi cần (ví dụ: "abc".length → wrap String → truy cập length → unwrap).

Lưu ý: valueOf() dùng nội bộ. Hiếm khi gọi trực tiếp trừ khi debug type.