Kịch bản thuyết trình: Slides 36, 37

Mình tiếp tục với slide 36 và 37 về Data Types trong JavaScript.

Trong JavaScript, dữ liệu gồm nhiều kiểu khác nhau được chia thành 2 nhóm lớn.

Nhóm Primitive types (nguyên thuỷ) - Gồm 7 kiểu:

  • String – chuỗi ký tự
  • Number – số nguyên hoặc thập phân
  • BigInt – số nguyên rất lớn vượt quá giới hạn của Number
  • Boolean – giá trị logic: true / false
  • Undefined – biến được khai báo nhưng chưa gán giá trị
  • Null – giá trị rỗng, không có gì
  • Symbol – giá trị duy nhất, thường dùng làm khóa đặc biệt

Nhóm này dùng để so sánh theo giá trị.

Nhóm Non-primitive types (reference types):

Tất cả những gì KHÔNG phải primitive → đều được triển khai dưới dạng object: Object {}, Array, Function, Date, RegExp, Map, Set, WeakMap, WeakSet, ArrayBuffer, TypedArray, ...

Nhóm này dùng để so sánh theo tham chiếu, nhiều biến có thể trỏ đến cùng 1 object.

Mình có ví dụ:

// String
let name = "Alice";
// Number
let age = 25;
// BigInt
let bigNumber = 1234567890123456789012345678901234567890n;
// Boolean
let isStudent = true;
// Undefined
let notAssigned;
// Null
let emptyValue = null;
// Symbol
let uniqueId = Symbol("id");
// Object
let person = {
    firstName: "Bob",
    lastName: "Smith",
    hobbies: ["music", "sports"]  // Array inside object
};

Một số điểm nổi bật & ví dụ minh họa

Kiểu dữ liệu động: Một biến có thể thay đổi kiểu dữ liệu trong quá trình chạy. Ví dụ:

let x;
x = 5;       // Number
x = "John";  // String

Tự động ép kiểu khi dùng phép cộng:

Nếu một trong các toán hạng là chuỗi, JavaScript sẽ chuyển tất cả sang chuỗi và nối lại.

Phép cộng được xử lý theo thứ tự từ trái sang phải.

Ví dụ:

let x = 16 + "Volvo";
// Number + String → "16Volvo"

let y = "Volvo" + 16 + 4;
// String + Number + Number → "Volvo164"

let z = 16 + 4 + "Volvo";
// Number + Number + String → "20Volvo"

Toán tử typeof để xác định kiểu dữ liệu:

Toán tử (operator) typeof giúp xác định kiểu dữ liệu để biết biến hiện tại đang thuộc kiểu gì. Ví dụ:

let username = "John";
typeof username;  // "string"

let pi = 3.14;
typeof pi;  // "number"

let notSet;
typeof notSet;  // "undefined"

let empty = null;
typeof empty;  // "object"

let isActive = true;
typeof isActive;  // "boolean"

let uniqueId = Symbol("x");
typeof uniqueId;  // "symbol"

Như vậy là mình đã trình bày xong về Data Types và cách JavaScript xử lý các kiểu dữ liệu khác nhau.