Kiểu nguyên thủy
Trong JavaScript, giá trị nguyên thủy (primitive value, primitive data type) là dữ liệu không phải là object (đối tượng) và không có phương thức hay thuộc tính. Có 7 kiểu dữ liệu nguyên thủy:
Hầu hết các giá trị nguyên thủy được biểu diễn trực tiếp ở cấp thấp nhất của việc triển khai ngôn ngữ.
Tất cả các giá trị nguyên thủy đều bất biến (immutable), tức là chúng không thể bị thay đổi. Điều quan trọng là không nhầm lẫn bản thân giá trị nguyên thủy với một biến được gán giá trị nguyên thủy. Biến có thể được gán lại một giá trị mới, nhưng giá trị hiện có không thể bị thay đổi theo cách mà đối tượng, mảng và hàm có thể bị thay đổi. Ngôn ngữ không cung cấp tiện ích để thay đổi giá trị nguyên thủy.
Các giá trị nguyên thủy không có phương thức nhưng vẫn hoạt động như thể chúng có. Khi các thuộc tính được truy cập trên giá trị nguyên thủy, JavaScript tự động đóng hộp (auto-boxes) giá trị vào một đối tượng bọc (wrapper object) và truy cập thuộc tính trên đối tượng đó. Ví dụ, "foo".includes("f") ngầm tạo một đối tượng bọc String và gọi String.prototype.includes() trên đối tượng đó. Hành vi tự động đóng hộp này không thể quan sát được trong mã JavaScript nhưng là một mô hình tư duy tốt cho nhiều hành vi khác nhau — ví dụ, tại sao việc "thay đổi" giá trị nguyên thủy không hoạt động (vì str.foo = 1 không gán vào thuộc tính foo của chính str, mà vào một đối tượng bọc tạm thời).
Xem thêm
- Kiểu dữ liệu JavaScript
- Primitive data type (Wikipedia)
- Các thuật ngữ liên quan: