☺️ Object ☺️

Đối tượng trong javascript

Nó được sử dụng để lưu trữ các bộ sưu tập khóa khác nhau và các giá trị khác nhau tùy ý.
js_masterJavascript
javascript-lap-trinh.jpg

Chào các bạn

Hôm nay mình sẽ nói về object. Vậy object là gì?. object là một đối tượng có thể lưu trữ chìa khóa và nhiều giá trị khác nhau. Mỗi thuộc tính cách nhau bằng dấu ,. Mỗi object sẽ có địa chỉ vùng nhớ khác nhau.

  1. Cú pháp
1let object1 = new Object();   // Cú pháp class
2
3let object2 = {};             // Cú pháp viết tắt

Khi chúng ta khai báo như vậy là chúng ta đang tạo ra một object mới. Và nó trống rỗng.

Để gán giá trị cho object đó bằng cách

1let object2 = {
2    key: value
3}
Tiêu đềMô tả
keyCó thể là chuỗi, số, biểu thức, chức năng.
:Cú pháp của nó phân biệt keyvalue
valueLưu trữ 8 kiểu dữ liệu

Ví dụ:

1let user = {
2    name : "Hồ Quang Trí",
3    age: 89,
4    showName () {
5        console.log(this.name)
6    },
7    showAge: function () {
8        console.log(this.age);
9    }
10}

Khi chúng ta khai báo như vậy. Chúng ta đang tạo ra một đối tượng có 4 thuộc tính name, age, showName, showAge

Để lấy ra một value nào đó chúng ta có thể viết. Đầu tiên là object tiếp theo là dấu . tiếp theo là key mà chúng ta cần lấy.

1let user = {
2    name : "Hồ Quang Trí",
3    age: 89,
4    showName () {
5        console.log(this.name)
6    },
7    showAge: function () {
8        console.log(this.age);
9    }
10}
11
12let age = user.age; // Lấy ra tuổi

Hoặc đầu tiên là object tiếp theo là dấu ngoặc [] truyền vào đó chuỗi key mà chúng ta cần lấy. object["key"]

1let user = {
2    name : "Hồ Quang Trí",
3    age: 89,
4    showName () {
5        console.log(this.name)
6    },
7    showAge: function () {
8        console.log(this.age);
9    }
10}
11
12let age = user["age"]; // Lấy ra tuổi

Để xóa một thuộc tính chúng ta dùng từ khóa delete

1let user = {
2    name : "Hồ Quang Trí",
3    age: 89,
4    showName () {
5        console.log(this.name)
6    },
7    showAge: function () {
8        console.log(this.age);
9    }
10}
11
12let age1 = user["age"]; // Lấy ra tuổi
13console.log(age1);      // 89
14
15delete user.age;        // Xóa thuộc tính age
16
17let age2 = user["age"]; // Lấy ra tuổi
18console.log(age2);      // undefined

Đối tượng lồng nhau sâu

1let user = {
2    name : "Hồ Quang Trí",
3    age: 89,
4    showName () {
5        console.log(this.name)
6    },
7    showAge: function () {
8        console.log(this.age);
9    },
10    object: {               // object lồng nhau
11        name: "Object",
12        age: 1000,
13        object1: {          // object lồng nhau
14            name: "Object 1",
15            age: 11111
16        }
17    }
18}

Khi đó để muốn truy cập lấy ra giá trị trong object lồng nhau đó thì chúng ta chỉ cần user.object.name, user["object"].name, user["object"]["name"]

1let user = {
2    name : "Hồ Quang Trí",
3    age: 89,
4    showName () {
5        console.log(this.name)
6    },
7    showAge: function () {
8        console.log(this.age);
9    },
10    object: {               // object lồng nhau
11        name: "Object",
12        age: 1000,
13        object1: {          // object lồng nhau
14            name: "Object 1",
15            age: 11111,
16        }
17    }
18}
19
20console.log(user.object.name);       // Object
21console.log(user["object"].name);    // Object
22console.log(user["object"]["name"]); // Object

Để kiểm tra thuộc tính trong object chúng ta dùng từ khóa in

1let user = {
2    name : "Hồ Quang Trí",
3    age: 89,
4    showName () {
5        console.log(this.name)
6    },
7    showAge: function () {
8        console.log(this.age);
9    },
10    object: {               // object lồng nhau
11        name: "Object",
12        age: 1000,
13        object1: {          // object lồng nhau
14            name: "Object 1",
15            age: 11111,
16        }
17    }
18}
19
20if("age" in user) {         // Kiểm tra age có trong user không
21    console.log(user.age);  // 89
22}

"key" in object chỉ trả về 1 trong 2 giá trị true hoặc false

Để lặp object chúng ta dùng vòng lặp for in

1let user = {
2    name : "Hồ Quang Trí",
3    age: 89,
4}
5
6for(let key in user) {
7    console.log(key);       // name, age
8    console.log(user[key]); // Hồ Quang Trí, 89
9}

Cuối cùng một thứ không kém phần quan trọng là. Giả sử nhà của các bạn là một object, và tivi là một thuộc tính trong cái nhà. Cả gia đình đang dùng chung nó. Nếu bố bạn bán cái tivi đó đi thì khi các bạn về nhà thì cái tivi đó đã biến mất rồi.

1let caiNha = {
2    tivi: "Ti Vi"
3}
4
5// Bố bạn và bạn chung 1 cái nhà
6let boBan = caiNha;  
7let ban = caiNha;
8
9delete boBan.tivi;          // Bố bạn bán tivi
10
11console.log(caiNha.tivi);   // undefined vì bố bạn đã bán nó đi

Ngược lại nếu bạn bán cái tivi đó đi

1let caiNha = {
2    tivi: "Ti Vi"
3}
4
5// Bố bạn và bạn chung 1 cái nhà
6let boBan = caiNha;  
7let ban = caiNha;
8
9delete ban.tivi;          // Bạn bán tivi
10
11console.log(caiNha.tivi);   // undefined vì bạn đã bán nó đi

Vậy bây giờ câu hỏi đặt ra là. Nếu bố bạn bán cái tivi đó đi nhưng bạn vẫn còn cái tivi đó thì làm như thế nào?. Đơn nhiên là bạn và bố bạn phải ở riêng đúng không. Nó cũng như đời thật. Và đây là code của nó.

1let caiNha = {
2    tivi: "Ti Vi"
3}
4
5
6// Bố bạn và bạn bây giờ khác nhà nhau
7let boBan = caiNha;  
8let ban = {};               // Mua nhà mới
9
10for(let key in caiNha) {
11    ban[key] = caiNha[key]; // Sao chép thiết kế nhà bố bạn
12}
13
14delete ban.tivi;            // Bạn bán tivi
15
16console.log(boBan.tivi);    // tivi nhà bố bạn vẫn còn
17console.log(ban.tivi);      // undefined vì bạn đã bán nó đi

Tổng kết

Trong bài viết này mình nói về object. object mình rất hay dùng trong lập trình.

Trong javascript object có sẵng rất nhiều. Các bạn có thể xem thêm chi tiết tại đây object. Đơn nhiên có nhiều cái hay. Từ từ về sâu trình lên cao sẽ biết.

  • object
  • javascript
  • đối tượng

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