1/17
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress
Primitive là gì?
Kiểu dữ liệu lưu trực tiếp giá trị: string, number, boolean, null, undefined
Reference là gì?
Kiểu dữ liệu lưu địa chỉ vùng nhớ: object, array, function
Khi gán primitive cho biến khác thì sao?
Biến mới nhận bản sao, không ảnh hưởng biến gốc
Khi gán object/array cho biến khác thì sao?
Cả hai cùng trỏ vào một địa chỉ, thay đổi sẽ ảnh hưởng lẫn nhau
Ví dụ bẫy copy reference với object?
obj2 = obj1, sửa obj2 thì obj1 cũng đổi
Ví dụ bẫy copy reference với array?
arr2 = arr1, thêm arr2 thì arr1 cũng bị thêm
Khi truyền object vào function thì sao?
Function nhận địa chỉ, thay đổi bên trong ảnh hưởng object gốc
Khi truyền primitive vào function thì sao?
Function chỉ nhận bản sao, không ảnh hưởng biến gốc
Cách copy object độc lập?
Dùng spread operator {…obj}
Cách copy array độc lập?
Dùng spread operator […arr] hoặc arr.slice()
Spread operator copy kiểu gì?
Copy nông (shallow), object lồng bên trong vẫn chung địa chỉ
So sánh object/array bằng === thì sao?
JS so sánh địa chỉ, không phải nội dung
Hai object giống hệt nội dung có bằng nhau không?
Không, vì khác địa chỉ
Cách so sánh nội dung object/array?
Dùng JSON.stringify() để chuyển thành string rồi so sánh
Spread operator dùng để làm gì?
Trải array/object ra, ghép hoặc thêm phần tử
Rest parameter dùng để làm gì?
Gom các tham số còn lại vào một array
Rest parameter đặt ở đâu?
Luôn đặt ở cuối danh sách tham số
Ví dụ rest parameter?
function tong(…soList) { return tổng các số trong soList }