2. Các loại dữ liệu trong Javascript

Ở ES6, Javascript có 7 kiểu. Đáng chú ý, object gồm có 2 loại sub-type là array và function.

null, undefined, boolean, number, string, object, symbol (có từ ES6).

Đáng chú ý là nếu dùng hàm typeof null sẽ ra “object” và typeof function() sẽ ra “function”.

Function cũng là sub-type của object nhưng check typeof ra “function”.

Tóm lại typeof null, array, object ==> ra “object”.

Tóm lại typeof function  ==> ra “function”.

Nhưng function() và array() vẫn được coi là một dạng “tiểu đệ” (sub-type) của object.

[code lang=”js”]

typeof function a(){ /* .. */ } === “function”; // true[/code]

Số phận đau khổ của JS. Đây thực chất là “di sản” của JS, không fix được, vì fix sẽ càng tạo ra nhiều lỗi hơn ở các code-base đã viết.

[js]

typeof null === “object”; // true

let a = []; //array

typeof a=== "object"; // true

let array = [];

typeof array;//object

typeof Symbol() === “object”; // true. Chú ý <strong>Symbol() S viết hoa</strong>.
[/js]

Trong JS, ta khai báo biến bằng cách var, let, hoặc const (hằng số). var, let và const có phạm vi (scope) sử dụng khác nhau.
Kết hợp với console.log(bien) để in ra giá trị. Quan sát ảnh sau.

Trong hàm console.log(a + b + c) thì + là phép cộng. “+” cũng dùng để nối chuỗi trong JS.

Tóm lại tổng kết ta có bảng sau:

Chú ý, trong js, kể cả các primitive type, trong trường hợp string và number, khởi tạo bình thường và kiểm tra typeof là “string” hoặc “number” vẫn dùng được các method dựng sẵn.

Cập nhật: null là một trường hợp hết sức đặc biệt. Quan sát ảnh sau:

Cập nhật: Đây là một cách phân loại khác theo Mozilla

Nguồn: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Grammar_and_Types

Leave a Comment