Khóa học IT JavaScript Cơ bản 038_Kiểu dữ liệu
Trong JavaScript, kiểu dữ liệu được sử dụng để biểu diễn các loại dữ liệu khác nhau, chẳng hạn như số, chuỗi, giá trị boolean, v.v. Kiểu dữ liệu trong JavaScript được chia thành hai loại: kiểu dữ liệu nguyên thủy và kiểu dữ liệu đối tượng.
Kiểu dữ liệu nguyên thủy
Giá trị kiểu dữ liệu nguyên thủy chỉ chứa một nội dung đơn lẻ (chuỗi, số hoặc khác).
Number (Số)
Được sử dụng để biểu diễn số, bao gồm số nguyên và số thực. Ví dụ: 5, 3.14, -10. Số có thể có nhiều phép toán, chẳng hạn như nhân *, chia /, cộng +, trừ -, v.v. Ngoài các số thông thường, còn có “giá trị số đặc biệt” thuộc kiểu này: Infinity, -Infinity và NaN. Kiểu Number là kiểu số thực và có thể có vấn đề về độ chính xác khi thực hiện các phép tính chính xác, chẳng hạn: 0.1 + 0.2. Bạn có thể chuyển đổi chuỗi thành số nguyên bằng phương thức parseInt() và chuyển đổi chuỗi thành số thực bằng phương thức parseFloat().
Ví dụ:
let age = 25;console.log(0.1 + 0.2); // Xuất 0.30000000000000004let result = 0.1 * 10 + 0.2 * 10;result = result / 10; // Chuyển kết quả trở lại số thựcconsole.log(result); // Xuất 0.3BigInt (Số nguyên lớn)
Kiểu dữ liệu biểu diễn số nguyên có độ chính xác tùy ý (liên quan đến giới hạn kích thước bộ nhớ). Nó cho phép bạn biểu diễn các giá trị số nguyên trong phạm vi lớn hơn kiểu Number mà không mất độ chính xác. Sử dụng hậu tố n hoặc gọi hàm tạo BigInt() để tạo BigInt. Nó xử lý các giá trị số nguyên vượt quá phạm vi Number, không thể trộn với số nguyên thông thường và không thể chuyển đổi qua parseInt() hoặc parseFloat().
Ví dụ:
let bigIntLiteral = 123n;let bigIntObject = BigInt(456);String (Chuỗi)
Được sử dụng để biểu diễn dữ liệu văn bản. Chuỗi bao gồm một loạt ký tự và có thể chứa chữ cái, số, ký hiệu, v.v. Ví dụ: “Hello, World!”, “你好”, ‘123’. Chuỗi phải được đặt trong dấu ngoặc kép, bao gồm: dấu ngoặc đơn 'Hello', dấu ngoặc kép "Hello", dấu backtick `Hello`. Dấu ngoặc đơn và dấu ngoặc kép là dấu ngoặc “đơn giản”. Dấu backtick là dấu ngoặc có chức năng mở rộng có thể tham chiếu trực tiếp biến bằng ${…} và giữ nguyên định dạng văn bản. Xuống dòng \n, tab \t, dấu gạch chéo ngược \\, dấu ngoặc đơn \' và dấu ngoặc kép \", ký tự xuống dòng \r
Ví dụ:
let text = "Hello, World!";Boolean (Giá trị logic)
Được sử dụng để biểu diễn giá trị logic, chỉ có hai giá trị có thể: true hoặc false.
Ví dụ:
let isStudent = true;Undefined (Chưa định nghĩa)
Được sử dụng để biểu diễn biến chưa được khởi tạo, chưa định nghĩa, chưa được gán giá trị hoặc hàm không có giá trị tham số.
Ví dụ:
let undefinedVar;alert(undefinedVar);Null (Giá trị null)
Được sử dụng để biểu diễn giá trị đặc biệt “không có gì”, “trống” hoặc “giá trị không xác định”, hoặc giá trị đối tượng không tồn tại.
Ví dụ:
let nullValue = null;Symbol (Ký hiệu)
Được sử dụng để tạo các định danh duy nhất, bất biến. Thường được sử dụng để định nghĩa các thuộc tính riêng tư của đối tượng, tạo các hằng số duy nhất hoặc làm định danh cho các hành vi đặc biệt. Mỗi ký hiệu được tạo thông qua Symbol là duy nhất, ngay cả khi chúng có cùng mô tả.
Ví dụ:
const symbol1 = Symbol();const symbol2 = Symbol();console.log(symbol1 === symbol2); // Xuất false, mỗi Symbol là duy nhấtKiểu dữ liệu đối tượng
Có thể được sử dụng để lưu trữ các bộ sưu tập dữ liệu hoặc nội dung phức tạp hơn.
Object (Đối tượng)
Được sử dụng để lưu trữ các cặp key-value, hoặc mối quan hệ ánh xạ giữa thuộc tính và giá trị thuộc tính. Đối tượng có thể chứa các giá trị của các kiểu dữ liệu khác nhau, bao gồm số, chuỗi, giá trị boolean, mảng, các đối tượng khác, v.v.
Ví dụ:
let person = { name: "Alice", age: 30, isStudent: false};Array (Mảng)
Mảng là một cấu trúc dữ liệu có thứ tự, có thể thay đổi được sử dụng để lưu trữ một nhóm giá trị. Mảng có thể chứa các phần tử của các kiểu dữ liệu khác nhau và mỗi phần tử có một chỉ mục tương ứng.
Ví dụ:
let numbers = [1, 2, 3, 4, 5];Function (Hàm)
Hàm là một khối mã có thể tái sử dụng có thể nhận các tham số đầu vào, thực hiện một loạt các thao tác và trả về kết quả. Hàm là công dân hạng nhất trong JavaScript. Chúng có thể được gán cho biến, được truyền như đối số cho các hàm khác và cũng có thể được sử dụng như giá trị trả về của các hàm khác.
Ví dụ:
function greet(name) { console.log("Hello, " + name + "!");}greet("JavaScript");typeof
typeof là một toán tử trong JavaScript được sử dụng để lấy kiểu của một biến đã cho (vì vậy không cần dấu ngoặc đơn trong typeof). Nó trả về một chuỗi biểu diễn kiểu biến.
Ví dụ:
let undefinedVariable;let booleanVariable = true;let numberVariable = 42;let stringVariable = "Hello";let objectVariable = { key: "value" };let functionVariable = function() {};let symbolVariable = Symbol("mySymbol");let nullVariable = null;
console.log(typeof undefinedVariable); // Xuất "undefined"console.log(typeof booleanVariable); // Xuất "boolean"console.log(typeof numberVariable); // Xuất "number"console.log(typeof stringVariable); // Xuất "string"console.log(typeof objectVariable); // Xuất "object"console.log(typeof functionVariable); // Xuất "function"console.log(typeof symbolVariable); // Xuất "symbol"console.log(typeof nullVariable); // Xuất "object"Sử dụng typeof x, x sẽ trả về kiểu biến và giá trị biến tương ứng. Đầu tiên thực thi typeof x, sau đó thực thi x, và xuất hai giá trị.
Ví dụ:
let x = 42;console.log(typeof x, x);typeof xtrả về “number”, cho biết kiểu của biếnxlà số.xtrả về giá trị của biếnx, là42.