1 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ề 2 00:00:03,803 --> 00:00:07,469 Winston, nhưng không quá nhiều vì Winston muốn mình 3 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 4 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ữ 5 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 6 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, 7 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 8 00:00:27,907 --> 00:00:31,566 các chuỗi về quê hương của cậu. Sau đó 9 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. 10 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 11 00:00:39,699 --> 00:00:43,450 bằng ký hiệu ngoặc. Được rồi. Bây giờ, 12 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. 13 00:00:48,636 --> 00:00:51,598 Nhưng các biến không biết điều đó. 14 00:00:51,598 --> 00:00:55,502 Các bạn biết đấy, trong Javascript, khi muốn 15 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, 16 00:00:59,289 --> 00:01:03,125 thú vị hơn, ta gọi đó là đối tượng. 17 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 18 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. 19 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 20 00:01:15,169 --> 00:01:18,837 và gọi nó là Winston. Sau đó 21 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 – 22 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 23 00:01:27,107 --> 00:01:31,047 nhưng vẫn chưa có thông tin nào bên trong cả. 24 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. 25 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. 26 00:01:41,276 --> 00:01:43,789 Được rồi. còn với mắt, ta sẽ thêm một 27 00:01:43,789 --> 00:01:48,039 dấu phẩy, sau đó là eyes: “black”. Ổn rồi, 28 00:01:48,039 --> 00:01:52,742 hiện tại Winston đã có 2 thuộc tính trong đối tượng. 29 00:01:52,742 --> 00:01:55,607 Về sở thích, ta có thể nhập likes: và sau đó 30 00:01:55,607 --> 00:02:00,076 chỉ việc copy paste ở trên đây xuống... và 31 00:02:00,076 --> 00:02:04,000 quá đẹp. Ta cùng quan sát nhé. Winston có 3 thuộc tính. 32 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, 33 00:02:07,527 --> 00:02:12,796 và một giá trị, nằm ở phía tay trái. 34 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ư 35 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ế. 36 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 37 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. 38 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. 39 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ó 40 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ứ, 41 00:02:42,709 --> 00:02:46,616 đó là một địa điểm. Tôi nghĩ sẽ hợp lý hơn 42 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, 43 00:02:51,042 --> 00:02:54,836 còn với giá trị tôi lại mở ngoặc nhọn 44 00:02:54,836 --> 00:02:58,376 và nhập chìa khóa cho thành phố. 45 00:02:58,376 --> 00:03:02,287 “Mountain View”, sau đó đến bang, 46 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ể 47 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. 48 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, 49 00:03:15,459 --> 00:03:18,783 ta thử xóa những biến riêng lẻ 50 00:03:18,783 --> 00:03:23,066 không liên quan gì đến nhau nhé. Được rồi. 51 00:03:23,066 --> 00:03:27,039 Uh oh! Chúng ta có một lỗi. Đó là bởi 52 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 53 00:03:30,739 --> 00:03:34,502 để sử dụng thông tin thay thế từ đối tượng. 54 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ể 55 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 56 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 57 00:03:46,396 --> 00:03:50,293 winston, vì đó là tên biến. Hãy chú ý nếu ta 58 00:03:50,293 --> 00:03:53,834 để nguyên như vậy, nó sẽ thông báo object object. Ghê lắm. 59 00:03:53,834 --> 00:03:57,369 Javascript thông báo ta đang cố gắng biến nguyên 60 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 61 00:04:02,109 --> 00:04:06,134 tiếp cận age trong đó thôi. Vì vậy ta sẽ đưa 62 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”. 63 00:04:11,063 --> 00:04:14,897 Tada! Ta đã có age. Ta gọi đó là “ký hiệu chấm”, 64 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, 65 00:04:18,284 --> 00:04:21,791 và khóa thuộc tính. Được rồi, bây giờ 66 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 67 00:04:26,244 --> 00:04:29,877 eyes, ta sẽ nhập winston.eyes, còn với 68 00:04:29,877 --> 00:04:34,074 cái này, ta nhập winston.likes. 69 00:04:34,074 --> 00:04:37,741 kế đến là winston.likes[1], 70 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ì 71 00:04:42,501 --> 00:04:45,451 đó là đối tượng bên trong đối tượng. Ta sẽ nhập 72 00:04:45,451 --> 00:04:48,784 winston, rồi chấm, birthplace, 73 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, 74 00:04:53,288 --> 00:04:57,455 city. Được rồi, ở đây ta nhập... winston, 75 00:04:57,455 --> 00:05:01,572 chấm, birthplace, chấm, state. 76 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 77 00:05:05,791 --> 00:05:09,416 bên trong đối tượng. 78 00:05:10,863 --> 00:05:13,919 Tuyệt vời. Như các bạn có thể thấy, 79 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 80 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 đó. 81 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!