Ôn tập lại:
function (thamSo1, thamSo2) {
// code cần thực thi
return ketQua;
}function sum() {
const length = arguments.length;
for (let i = 0; 1 < length; i++) {
console.log(arguments[i]);
}
}sum(1, 2,3);
Cách này không còn dùng nữa, sử dụng cách hiện đại hơn là ES6 không dùng biến arguments nữa
const user = { name: "Vũ Quốc Dũng", age: 30,đây là các cú pháp của ES6) bây giờ mình có object hoặc mảng thì bình thường muốn lấy ra phần tử trong mảng hoặc object thì mình dùng cách const user.Name = user.name; tương tự anh muốn lấy tuổi const userAge = user.age; trong thực object sẽ nhiều hơn nhiều thế nến anh muốn gán vào biến để dùng (nhu cầu có xuất hiện trong nhu cầu thực tế), object nhiều trường 10 hoặc 20 trường, giờ mình muón lấy giá trị thì 10 dòng còn const {userName, userAge} = user; biến mình phải đặt trùng với cái biếninfo: function () { console.log(
Tên: ${user.name}, Tuổi: ${user.age}); },address: { city: "Hà Nội", district: "Cầu Giấy", street: "Nguyễn Trãi", }, };
// ======================= // Các cách truy cập Object // =======================
console.log(user.name); console.log(user["name"]);
const keys = ["name", "age"]; console.log(keys.map((key) => user[key]));
// ======================= // Add (Thêm) // =======================
user.language = "JavaScript";
// ======================= // Update (Sửa) // =======================
user.age = 31;
// ======================= // Delete (Xóa) // =======================
delete user.language;
// ======================= // Kiểm tra thuộc tính có tồn tại hay không // =======================
console.log("age" in user); // true hoặc false
// Ví dụ: // Có một danh sách key, kiểm tra xem tất cả key đó có tồn tại trong object hay không // => dùng vòng lặp + toán tử in
// ======================= // Nested Object (Object lồng nhau) // =======================
console.log(user.address.city); // Hà Nội
// Hoặc
console.log(user["address"]["city"]); // Hà Nội
// ======================= // Truy cập phương thức // =======================
user.info; // Chỉ tham chiếu đến hàm
user.info(); // Gọi hàm
// Gắn lại hàm khác (Sửa phương thức)
user.info = function () { console.log("My info..."); };
user.info();
// ======================= // Thêm phương thức mới // =======================
user.info2 = function () { console.log("Hello"); };
user.info2();
// ======================= // Xóa phương thức // =======================
delete user.info2;
// ======================= // Hiển thị Object // =======================
console.log(user);
// Nếu ép sang String:
console.log(String(user)); // [object Object]
// Chuyển Object -> JSON String
const json = JSON.stringify(user); console.log(json);
// Chuyển JSON String -> Object
const newUser = JSON.parse(json);
console.log(newUser);
// ======================= // Làm việc với Object // =======================
// Lấy danh sách key
console.log(Object.keys(user));
// Lấy danh sách value
console.log(Object.values(user));
// Lấy cả key và value
console.log(Object.entries(user));
// ======================= // Duyệt Object // =======================
// for...in -> lấy key
for (const key in user) { console.log(key); }
// Object Literal KHÔNG dùng for...of trực tiếp được
// Muốn dùng for...of thì chuyển thành mảng bằng Object.entries()
for (const [key, value] of Object.entries(user)) { console.log(key, value); }
// Destructuring (
// Destructuring trong mảng
// Callback: là hàm được truyền vào một hàm khác. Ví dụ JSON.stringify(product ,() => {}, 2)
Mô phỏng lại đối tượng thì dùng object (Môn DSA: Cấu trúc dữ liệu và giải thuật), ở mức hiểu cơ bản nghĩa là chọn cách nào để lưu cho thuận tiện nhất
object lưu trữ mô tả đối tượng trong cuộc sống, như mô tả con thỏ,...
Phương thức
- Basis this
- Tiếp theo phần Constructor
+) dùng object literal
+) dùng cú pháp new Object. cách này tương tự cách 1 nhưng dài dòng hơn
+) Cách 3: Tạo ra một khuôn mẫu để tạo ra nhiều user khác nhau (hàm tạo) sẽ tạo ra một khuôn mẫu
function User(name, age) {
this.name = name;
this.age = age;
}
const user1 = new User("Vũ Quốc Dũng", 27);
console.log(user1)