WEBVTT 00:00:01.333 --> 00:00:03.803 Tôi đã viết một chương trình để cung cấp cho các bạn những thông tin lý thú về 00:00:03.803 --> 00:00:07.469 Winston, nhưng không quá nhiều vì Winston muốn mình 00:00:07.469 --> 00:00:11.870 bí ẩn một chút. Đấy là Winston nói thế. Vậy ta cùng xem 00:00:11.870 --> 00:00:15.334 tôi đã viết chương trình như thế nào nhé. Tôi đã tạo một số biến ở trên cùng để lưu trữ 00:00:15.334 --> 00:00:20.034 một số thông tin về cậu ấy. Biến đầu tiên chứa một số - tuổi – biến thứ hai chứa 00:00:20.034 --> 00:00:23.955 một chuỗi – mắt – biến thứ ba chứa một mảng chuỗi, 00:00:23.955 --> 00:00:27.907 đó là những sở thích của cậu ấy, và hai biến cuối cùng chứa 00:00:27.907 --> 00:00:31.566 các chuỗi về quê hương của cậu. Sau đó 00:00:31.566 --> 00:00:35.940 ở dưới này, tôi đã viết từng dòng bằng lệnh text và chỉ sử dụng tên biến. 00:00:35.940 --> 00:00:39.699 Và tất nhiên đối với mảng, tôi phải tiếp cận từng phần tử trong mảng 00:00:39.699 --> 00:00:43.450 bằng ký hiệu ngoặc. Được rồi. Bây giờ, 00:00:43.450 --> 00:00:48.636 toàn bộ 5 biến này đang mô tả những thông tin về cùng một người: Winston. 00:00:48.636 --> 00:00:51.598 Nhưng các biến không biết điều đó. 00:00:51.598 --> 00:00:55.502 Các bạn biết đấy, trong Javascript, khi muốn 00:00:55.502 --> 00:00:59.289 lưu trữ nhiều mẩu thông tin liên quan, ta còn có một phương pháp hiệu quả hơn, 00:00:59.289 --> 00:01:03.125 thú vị hơn, ta gọi đó là đối tượng. 00:01:03.125 --> 00:01:06.795 Nói cách khác, thay vì 5 biến, ta có thể chỉ sử dụng một biến duy nhất 00:01:06.795 --> 00:01:11.623 lưu trữ tất cả những thông tin trên, thật kỳ diệu. 00:01:11.623 --> 00:01:15.169 Ta cùng thử với thông tin của Winston nhé. Đầu tiên, ta khai biến 00:01:15.169 --> 00:01:18.837 và gọi nó là Winston. Sau đó 00:01:18.837 --> 00:01:23.399 ta mở ngoặc nhọn – hãy đảm bảo đó là ngoặc nhọn, không phải ngoặc vuông – 00:01:23.399 --> 00:01:27.107 và một dấu chấm phẩy. Vậy là ta đã tạo xong một đối tượng 00:01:27.107 --> 00:01:31.047 nhưng vẫn chưa có thông tin nào bên trong cả. 00:01:31.909 --> 00:01:35.668 Như vậy, muốn thêm thông tin, ta phải thêm thuộc tính. 00:01:35.668 --> 00:01:41.276 Mỗi thuộc tính là một chìa khóa và một giá trị. Ví dụ, tuổi sẽ là age: 19. 00:01:41.276 --> 00:01:43.789 Được rồi. còn với mắt, ta sẽ thêm một 00:01:43.789 --> 00:01:48.039 dấu phẩy, sau đó là eyes: “black”. Ổn rồi, 00:01:48.039 --> 00:01:52.742 hiện tại Winston đã có 2 thuộc tính trong đối tượng. 00:01:52.742 --> 00:01:55.607 Về sở thích, ta có thể nhập likes: và sau đó 00:01:55.607 --> 00:02:00.076 chỉ việc copy paste ở trên đây xuống... và 00:02:00.076 --> 00:02:04.000 quá đẹp. Ta cùng quan sát nhé. Winston có 3 thuộc tính. 00:02:04.000 --> 00:02:07.527 Mỗi thuộc tính là một chìa khóa, nằm ở phía tay phải, 00:02:07.527 --> 00:02:12.796 và một giá trị, nằm ở phía tay trái. 00:02:12.796 --> 00:02:15.632 Đối với chìa khóa, ta nên tuân theo các quy tắc tương tự như 00:02:15.632 --> 00:02:20.099 tên biến Javascript. Không dấu cách, bắt đầu với một chữ cái, đại loại thế. 00:02:20.591 --> 00:02:22.960 Đối với giá trị, nó có thể là bất cứ loại giá trị nào 00:02:22.960 --> 00:02:27.124 ta đã từng gặp. Có thể là số, có thể là chuỗi, có thể là mảng. 00:02:27.124 --> 00:02:33.373 Thậm chí nó có thể là boolean, vì vậy hiển nhiên ta có thể thêm isCool: true. 00:02:34.126 --> 00:02:38.398 Trên thực tế, giá trị còn có thể là một đối tượng khác nữa. Ta có 00:02:38.398 --> 00:02:42.709 BirthCity và BirthState. Đó hoàn toàn là những mẩu thông tin về cùng một thứ, 00:02:42.709 --> 00:02:46.616 đó là một địa điểm. Tôi nghĩ sẽ hợp lý hơn 00:02:46.616 --> 00:02:51.042 nếu ta lưu trữ nó dưới dạng đối tượng. Tôi sẽ thêm một chìa khóa khác, nơi sinh, 00:02:51.042 --> 00:02:54.836 còn với giá trị tôi lại mở ngoặc nhọn 00:02:54.836 --> 00:02:58.376 và nhập chìa khóa cho thành phố. 00:02:58.376 --> 00:03:02.287 “Mountain View”, sau đó đến bang, 00:03:02.287 --> 00:03:06.766 “California”. Tuyệt vời! Bây giờ các bạn có thể thấy, thực sự ta có thể 00:03:06.766 --> 00:03:10.480 lưu trữ rất nhiều thông tin bên trong một đối tượng. 00:03:11.033 --> 00:03:15.459 Được rồi. Sau khi có được đối tượng đẹp đẽ này với toàn bộ thông tin về Winston, 00:03:15.459 --> 00:03:18.783 ta thử xóa những biến riêng lẻ 00:03:18.783 --> 00:03:23.066 không liên quan gì đến nhau nhé. Được rồi. 00:03:23.066 --> 00:03:27.039 Uh oh! Chúng ta có một lỗi. Đó là bởi 00:03:27.039 --> 00:03:30.739 các lệnh text đang tham chiếu biến cũ. Ta phải cập nhật chúng 00:03:30.739 --> 00:03:34.502 để sử dụng thông tin thay thế từ đối tượng. 00:03:34.502 --> 00:03:38.218 Trước hết ta phải chú thích lại ba biến cuối cùng để có thể 00:03:38.218 --> 00:03:41.872 thực hiện từng cái một. Được rồi. Hiện tại 00:03:41.872 --> 00:03:46.396 ta đang nhìn thấy WinstonAge. Cái ta cần làm là thay thế nó, ta sẽ nhập 00:03:46.396 --> 00:03:50.293 winston, vì đó là tên biến. Hãy chú ý nếu ta 00:03:50.293 --> 00:03:53.834 để nguyên như vậy, nó sẽ thông báo object object. Ghê lắm. 00:03:53.834 --> 00:03:57.369 Javascript thông báo ta đang cố gắng biến nguyên 00:03:57.369 --> 00:04:02.109 một đối tượng thành một giá trị chuỗi. Nhưng thay vào đó, ta chỉ muốn 00:04:02.109 --> 00:04:06.134 tiếp cận age trong đó thôi. Vì vậy ta sẽ đưa 00:04:06.134 --> 00:04:11.063 một dấu chấm, sau đó nhập khóa thuộc tính, đó là “age”. 00:04:11.063 --> 00:04:14.897 Tada! Ta đã có age. Ta gọi đó là “ký hiệu chấm”, 00:04:14.897 --> 00:04:18.284 đây là vị trí ta nhập tên biến cho đối tượng, theo sau là một dấu chấm, 00:04:18.284 --> 00:04:21.791 và khóa thuộc tính. Được rồi, bây giờ 00:04:21.791 --> 00:04:26.244 ta có thể tiếp tục rồi. Ta sẽ xóa chú thích này đi, và thay vì Winston 00:04:26.244 --> 00:04:29.877 eyes, ta sẽ nhập winston.eyes, còn với 00:04:29.877 --> 00:04:34.074 cái này, ta nhập winston.likes. 00:04:34.074 --> 00:04:37.741 kế đến là winston.likes[1], 00:04:37.741 --> 00:04:42.501 cuối cùng, nó hơi phức tạp hơn một chút vì 00:04:42.501 --> 00:04:45.451 đó là đối tượng bên trong đối tượng. Ta sẽ nhập 00:04:45.451 --> 00:04:48.784 winston, rồi chấm, birthplace, 00:04:48.784 --> 00:04:53.288 nhưng nếu làm như vậy thì đó vẫn là một đối tượng, vì thế ta sẽ thêm chấm, 00:04:53.288 --> 00:04:57.455 city. Được rồi, ở đây ta nhập... winston, 00:04:57.455 --> 00:05:01.572 chấm, birthplace, chấm, state. 00:05:01.572 --> 00:05:05.791 Tada! Thật thú vị vì ta có thể tiếp cận những thông tin 00:05:05.791 --> 00:05:09.416 bên trong đối tượng. 00:05:10.863 --> 00:05:13.919 Tuyệt vời. Như các bạn có thể thấy, 00:05:13.919 --> 00:05:17.597 đối tượng là một phương pháp hiệu quả giúp lưu trữ nhiều mẩu thông tin 00:05:17.597 --> 00:05:21.406 liên quan đến nhau về một đối tượng nào đó, và có thể tiếp cận sau đó. 00:05:21.406 --> 00:00:00.000 Chỉ cần tiếp tục tìm hiểu, các bạn sẽ thấy đổi tượng tuyệt vời như thế nào!