Các kiểu dữ liệu
Kiểu dữ liệu ám chỉ đến kiểu của giá trị mà chương trình làm việc. Trong JavaScript có thể giữ nhiều kiểu dữ liệu như các số, chuỗi, mảng …
Các biến trong Javascript khai báo một cách lỏng lẻo
, có nghĩa là một biến không có định gắn với một kiểu dữ liệu nào đó (khác với C). Kiểu của biến là kiểu mà giá trị biến đó đang chứa (như một biến khai báo và gán luôn cho nó một số thì biến đó kiểu số, sau đó gán cho nó một chuỗi thì lúc đó biến có kiểu chuỗi). Hãy xem ví dụ sau:
var myvar = 42; // myvar khởi tạo là một số nguyên myvar = "Hi JS" //myvar giờ lại là biến chuỗi myvar = true; //giờ lại là biến logic
Js chia các kiểu dữ liệu ra hai nhóm là kiểu dữ liệu nguyên thủy
và đối tượng
Kiểu dữ liệu nguyên thủy
là những loại dữ liệu mà giá trị của nó nó không thể sửa đổi trong biến (tất nhiên nó có thể thay thế). Ví dụ chuỗi là một kiểu nguyên thủy, một biến chuỗivar a = "abc"
, giờ nếu muốna
chứa"ab"
thì bạn chỉ có thể thay thế giá trị biến đó đang giữ bằng một giá trị mới"ab"
chứ không thể xóa đi ký tự"c"
từ chuỗi giá trị cũ để nó thành"ab"
. Có tất cả 6 kiểu dữ liệu nguyên thủy: boolean, null, null, undefined, number, string, symbolKiểu đối tượng
, giá trị biến giữ là một đối tượng nào đó. Đối tượng đó có thể thay đổi bằng cách thay đổi các thuộc tính của nó (không cần thay thế đối tượng mới).
(1) Kiểu logic – Boolean
Biểu diễn logic đúng / sai – có 2 giá trị là true
và false
var found = false;
Giá trị logic của 0
, null
, undefined
, chuỗi rỗng là false
. Các giá trị khác là true
(2) Kiểu Null – rỗng
Biến có giá trị null
thì nó không chứa đối tượng nào cả (rỗng)
var object = null;
(3) Kiểu Undefined – chưa định nghĩa
Biến có giá trị undefined
là giá trị khi biến đó được khởi tạo (chưa bị gán)
var myvar; //biến đang có kiểuundefined
if (myvar === undefined) { //làm gì đó vì biến làundefined
}
(4) Kiểu số – Number
Khác với các ngôn ngữ lập trình khác, JavaScript không định nghĩa sự khác nhau giữa các loại số ví dụ phông phân biệt số nguyên, số thực …
Số trong JavaScript có thể viết có hoặc không có phần thập phân
var num = 42; // Một số không có phần thập phân
Ví dụ sau tạo ra số có phần thập phân
var price = 55.55; document.write(price);
(5) Chuỗi ký tự JavaScript
Chuỗi ký tự trong JavaScript có thể được lưu giữ trong biến và biểu diễn trong cặp nháy đơn ''
hoặc nháy kép ""
var name = 'Nam'; //Chuỗi trong dấu nháy đơn var text = "Tên tôi là Nguyễn Nam"; //Chuỗi trong dấu nháy kép
Để chèn các ký tự đặc biệt như nháy đơn '
nháy kép "
, ký hiệu xuống dòng, tab, \
thì sử dụng ký hiệu escape \
để biểu diễn
Mã | Ký tự biểu diễn |
\' | ‘ |
\" | “ |
\\ | \ |
\n | Xuống dòng |
\r | Đầu dòng |
\t | tab |
(6) Kiểu symbol
Kiểu này mỗi giá trị là duy nhất và không thể bị sửa đổi. Giá trị Symbol được tạo ra từ hàm Symbol()
, vì nó luôn tạo ra một giá trị duy nhất trên toàn hệ thống nên kiểu này thường được dùng để định danh các đối tượng cho mục đích tìm kiếm lại.
var sym1 = Symbol(); var sym2 = Symbol(); //sym2 luôn khác sym1
Các đối tượng
Các đối tường sẽ trình bày chi tiết ở phần sau, khái quát chung thì đối tượng chứa trong biến thì nó có thể chứa nhiều giá trị (gọi là thuộc tính), và các thuộc tính này có thể cập nhật sửa đổi.