🙉 Object Methods 🙉

Các phương pháp và tài sản của lớp Object

Trong javascript lớp Object chứa rất nhiều phương pháp và tài sản. Mà sẽ giúp ích các bạn rất nhiều cho sau này.
js_masterJavascript
javascript-offjs.jpg

Chào các bạn

Trong bài viết này chúng ta cùng nhau tìm hiểu về các tài sản và phương pháp của lớp Object

Object

Trong lớp Object này có rất rất là nhiều phương pháp và tài sản. Để hiểu rõ nó cũng như cách hoạt động của nó thì bắt buộc chúng ta phải tìm hiểu về nó.

  1. Các phương pháp

Object.assign()

Phương pháp tỉnh Object.assign() dùng để sao chép từ một hoặc nhiều đối tượng khác.

Cú pháp

1let objectCopy = Object.assign(target, ...[sources]);
Phương phápTham sốTrả về
Object.assign()target Đối tượng chúng ta muốn sao chép đếnobject
...[sources] Một hoặc một danh sách đối tượng cần sao chép

Ví dụ:

1let user1 = {
2    name: "User - 1",
3    age: 100,
4};
5
6let user2 = {
7    address: ["Việt Nam"],
8};
9
10let objUser = Object.assign(user1, user2);
11console.log(objUser); // {name: "User - 1", age: 100, address: ["Việt Nam"]}

Object.create()

Phương pháp tỉnh Object.create() dùng tạo mới một đối tượng. Sử dụng đối tượng hiện có là nguyên mẫu.

Cú pháp

1let createObj = Object.create(object, properties);
Phương phápTham sốTrả về
Object.create(...)object Đối tượng được sử dụng như là nguyên mẫuobject
properties Đối tượng chỉnh sửa mô tả các cờ và gía trị tài sản của nó

Ví dụ:

1let user = {
2    name: "Hồ Quang trí",
3};
4
5let object = Object.create(user, {
6    age: {
7        value: 89, // Giá trị
8        enumerable: true, // Có thể lặp
9        writable: true, // Có thể thay đổi giá trị
10        configurable: true, // Có thể xóa
11    },
12});
13
14console.log(object); // {age: 89}
15console.log(object.__proto__); // {name: 'Hồ Quang trí'}
  • user Chính là nguyên mẫu của object

    Nói chính xác là object kế thừa từ user

  • { age: {...} } Chính là đối tượng chúng ta tạo mới.

    Nếu chúng ta không chỉ định các cờ của nó thì mặc định false

  • __proto__ Chính là một get set tài sản

    Dùng lấy ra nguyên mẫu. Vì mình chưa nói đến về lớp với kế thừa nên các bạn sẽ ko hiểu.

Object.keys() Object.values() Object.entries()

Các bạn xem thêm về nó tại đây. Object.keys() Object.values() Object.entries()

Object.is()

Phương pháp tỉnh Object.is() dùng để so sánh 2 giá trị có cùng nhau không.

Cú pháp

1let check = Object.is(value1, value2);
Phương phápTham sốTrả về
Object.is()value1 Giá trị để so sánhboolean
value2 Giá trị để so sánh

Ví dụ:

1let value1 = "1";
2let value2 = 1;
3
4let check = Object.is(value1, value2);
5
6console.log(check); // false
7console.log(value1 === value2); // false
8console.log(value1 == value2);  //  true

Thật ra mình chỉ cần dùng toán tử === là cũng ok rồi. Nó chỉ có vài khác biệt nhỏ thôi. Thật ra cũng không cần thiết lắm. Càng chặt chẻ thì các bạn phải kiểm tra nhiều hơn.

Object.fromEntries()

Phương pháp tỉnh Object.fromEntries() biến một danh sách các cặp giá trị chính thành một đối tượng.

Cú pháp

1let obj = Object.fromEntries(entries);
Phương phápTham sốTrả về
Object.fromEntries()entries Một mảng 2 chiều [[key, value], [key, value]]object

Ví dụ:

1let user = {
2    name: "Hồ Quang Trí",
3    age: 89,
4};
5
6let entries = Object.entries(user);
7
8console.log(entries); // [["name", "Hồ Quang Trí"], ["age", 89]]
9
10let obj = Object.fromEntries(entries);
11
12console.log(obj); // {name: 'Hồ Quang Trí', age: 89}

Object.getPrototypeOf()

Phương pháp tỉnh Object.getPrototypeOf() dùng để lấy ra nguyên mẫu của object

1// Ví dụ kế thừa
2let parent = {
3    name: "Parent",
4    home: ["Việt Nam"],
5};
6
7let children = {
8    __proto__: parent, // Set nguyên mẫu
9    name: "Children",
10};
11
12console.log(children.name); // Children
13console.log(children.home); // ['Việt Nam']
14
15let nguyenMau = Object.getPrototypeOf(children);
16console.log(nguyenMau); // {name: 'Parent', home: Array(1)}
17
18console.log(nguyenMau === parent); // true

Object.setPrototypeOf()

Phương pháp tỉnh Object.setPrototypeOf() dùng để set nguyên mẫu cho đối tượng

1// Ví dụ kế thừa
2let parent = {
3    name: "Parent",
4    home: ["Việt Nam"],
5};
6
7let children = {
8    name: "Children",
9};
10
11// Set nguyên mẩu
12Object.setPrototypeOf(children, parent);
13
14console.log(children.name); // Children
15console.log(children.home); // ['Việt Nam']
16
17let nguyenMau = Object.getPrototypeOf(children);
18console.log(nguyenMau); // {name: 'Parent', home: Array(1)}
19
20console.log(nguyenMau === parent); // true

hasOwnProperty()

Phương pháp hasOwnProperty() dùng để kiểm tra tài sản có tồn tại trong đối tượng hay không

1// Ví dụ kế thừa
2let parent = {
3    name: "Parent",
4    home: ["Việt Nam"],
5    wife: undefined,
6};
7
8for (let key in parent) {
9    if (parent.hasOwnProperty(key)) {
10        console.log(key); // name, home, wife
11    }
12}
13
14for (let key in parent) {
15    if (parent[key]) {
16        console.log(key); // name, home
17    }
18}

Ngoài ra còn có nhiều phương pháp khác

Thật ra cũng không cần thiết lắm nên mình không viết ra. Chừng đó là đả đủ chúng ta tung hoành rồi.

Lên cao nữa chúng ta có nhiều cái hay lắm. Đặc biệt là vay mượn phương pháp

1let obj1 = {
2    name: "Object 1",
3    logName() {
4        console.log(this.name); // Nó log ở đây. Nhưng mình ghi vào dưới cuộc gọi để bạn thấy đầu ra
5    }
6};
7
8let obj2 = {
9    name: "Object 2"
10};
11
12
13// Bình thường chúng ta gọi thế này
14
15obj1.logName(); // Object 1
16
17// Vay mượn phương pháp
18// Obj2 không có phương pháp logName nhé các bạn
19
20obj1.logName.call(obj2); // Object 2

Tổng kết

Trong bài viết này chúng ta đã sơ lượt qua các phương pháp của lớp Object.

Và còn nhiều nhiều cái hay nữa. Đặc biệt là chúng ta sẽ tận dụng hết sức có thể các phương pháp có sẵng.

Càng về sau nhé

  • object
  • phương pháp tài sản
  • đối tượng
  • mảng
  • string

OFFJS.COM - Blog học tập giải trí - 🐲

Chia sẻ nhiều kiến thức thú vị trong lập trình cũng như cuộc sống.

Giới thiệu


Trang web này mình sẽ nói về kiến thức lập trình và cuộc sống mà các bạn mới học hay đang dự định học. Có một bước đi đầu đời vững chắc.

Hồ Quang Trí.jpg

Đi kèm với đó là những lý thuyết và các dòng code minh họa. Để các bạn dễ hình dung.

Đơn nhiên cũng không dễ dàng ngày một ngày hai mà học hết được.

Học Tập Là Một Con Đường Dài Vô Tận

Nó sẽ nuốt các bạn vô số thời gian nhưng bù lại khi đã biết thì mọi thứ thật là tuyệt.

1console.log("Hồ Quang Trí");

Nếu có ai nói bạn học lập trình trong vòng 3 đến 6 tháng thì mình xin nói thật không bao giờ có chuyện đó nhé.

Chúc các bạn thành công.

Chân trang

phone-toan-phat.png

0353210168

address-toan-phat.png

Việt Nam