Kiểu dữ liệu

Kiểu dữ liệu

Chuẩn ECMAScript mới nhất có 8 kiểu dữ liệu:

  • Bao gồm 7 kiểu dữ liệu nguyên thủy (primitive data type)
    1. Kiểu Boolean có hai giá trị là truefalse
    2. Kiểu null có một giá trị là null
    3. Kiểu undefined có một giá trị là undefined
    4. Kiểu Number có giá trị là số thực. Ví dụ 1, 3.14, -2e10
    5. Kiểu BigInt để lưu các giá trị số nguyên lớn. Ví dụ 9007199254740992n
    6. Kiểu String để lưu danh sách các ký tự. Ví dụ 'Xin chào'
    7. Kiểu Symbol (được thêm vào từ ECMAScript 2015) lưu các giá trị duy nhất và bất biến
  • Kiểu dữ liệu Object. Các kiểu dữ liệu không phải kiểu dữ liệu nguyên thủy đều là Object ví dụ như Array, Function, Regex.

Sau đây sẽ hướng dẫn biểu diễn kiểu số nguyên, biểu diễn kiểu số thực và biểu diễn chuỗi.

Biểu diễn số nguyên

Các NumberBigInt có thể được biểu thị bằng số thập phân (cơ số 10), thập lục phân (cơ số 16), bát phân (cơ số 8) và nhị phân (cơ số 2).

  • Một chữ số thập phân là một chuỗi các chữ số không có số 0 đứng đầu.
  • Số 0 đứng đầu (không) trên một chữ số hoặc số 0o (hoặc 0O) hàng đầu cho biết nó nằm trong số bát phân. Các số bát phân chỉ có thể bao gồm các chữ số 0-7.
  • Số 0x (hoặc 0X) đứng đầu biểu thị loại số thập lục phân. Các số thập lục phân có thể bao gồm các chữ số (0-9) và các chữ cái a-f hoặc A-F.
  • Số 0b (hoặc 0B) đứng đầu chỉ ra một chữ số nhị phân. Số nhị phân chỉ có thể bao gồm các chữ số 0 và 1.

Ví dụ:

1
2
3
4
0, 117, -345, 123456789123456789n             (thập phân,  số 10)
015, 0001, -0o77, 0o777777777777n             (bát phân,  số 8) 
0x1123, 0x00111, -0xF1A7, 0x123456789ABCDEFn  (thập lục phân, hexa hay  số 16)
0b11, 0b0011, -0b11, 0b11101001010101010101n  (nhị phân,  số 2)

Biểu diễn số thực

Một số thực có thể có các phần sau:

  • Một số nguyên có thể được có dấu (+ hoặc -),
  • Dấu thập phân (.),
  • Phần thập phân,
  • Phần mũ chứa e hoặc E theo sau số nguyên có thể có dấu (+ hoặc -)

Ví dụ:

1
2
3
4
3.1415926;
-.123456789; // số 0 đầu tiên có thể lượt bỏ
-3.1E+12;
.1e-23;

Biểu diễn chuỗi (string)

Một chuỗi ký tự là 0 hoặc nhiều ký tự được đặt trong dấu ngoặc kép (") hoặc dấu ngoặc đơn (’). Sử dụng dấu ngoặc đơn hoặc ngoặc kép là giống nhau.

1
2
3
4
5
'foo';
"bar";
'1234'
'one line \n another line';
"John's cat";

Chúng ta có thể gọi bất kỳ phương thức nào của đối tượng String. JavaScript tự động chuyển đổi chuỗi ký tự thành một đối tượng String, gọi phương thức của nó, sau đó xóa bỏ đối tượng String đi.

1
2
3
// Chuyển "John's cat" thành đối tượng String
// sau đó lấy độ dài của nó
console.log("John's cat".length)  // 10.

Sử dụng các ký tự đặc biệt

Ký tự Ý nghĩa
\0 Null Byte (Ký tự với mã ASCII là 0)
\b Backspace (Phím xóa một ký tự)
\f Form feed
\n New line (dòng mới, tương đương với ký tự Enter)
\r Carriage return
\t Tab (Tương đương với ký tự Tab)
\v Vertical tab
\' Dấu '
\" Dấu "
\\ Dấu gạch chéo ngược
\uXXXX Ký tự Unicode được chỉ định bởi bốn chữ số thập lục phân XXXX.
\u{XXXXX} Mã Unicode.

Bạn cũng có thể viết một string dài trên nhiều dòng bằng cách đặt trước dấu gạch chéo ngược.

1
2
3
4
5
var str = 'this string \
is broken \
across multiple \
lines.'
console.log(str);   // this string is broken across multiple lines.