6.2 Object
Ngoài đời hay trong lập trình đều vậy, k có cái gì gọi là định nghĩa chính xác 100% cả, đúng người này nhưng với người khác thì chưa chắc. Nhưng chúng ta thường theo số đông. Đó là lí do vì sao trong lập trình có nhiều cái gây tranh cãi, chưa thống nhất nhau về định nghĩa và cách dùng như vậy. Cũng giống như 1+ 3 = 2+ 2 = 8-4 = 4, nó đều quy về 1 kết quả nhưng có nhiều cách tính, cách trình bày. Từ qua đến giờ, e có theo dõi cuộc tranh luận của các bác về setTimeOut(), ý kiến và cách biện luận của các bác e đều đọc , tất nhiên những chỗ e sẽ k hiểu hết. Chính vì thế, e nên đứng ở giữa, nghe các bác nói + tìm hiểu thêm, mục đích cuối cùng vẫn là tìm ra đường của mình. Thật sự, nhiều bác cứ sợ tranh luận hay nói đúng hơn là sợ thua, sợ mình nói sai bị bắt bẻ. Giờ thì e ít chứ khoảng time còn học c3 e rất hay tranh luận với bạn với thầy, chính những cái kiến thức đấy sẽ nhớ lâu hơn là học. E còn nhớ năm 11 thi hsg tỉnh môn Toán, nhờ cái hay tranh luận mà e tìm đc phương pháp tính ra nghiệm của bài Bất đẳng thức. Mà BDT tìm đc nghiệm thì xem như done.
Có vẻ như e nói lệch đề hơi nhiều
) Nhưng thread này đang đi đúng mục đích e lập ra. E sẽ đẩy nhanh tiến độ 2-3 bài, từ bài 10 trở lên mới có nhiều cái hay, cái tranh luận mà e và mọi người sẽ rất mong đợi.
Vào với bài học, ở bài Array e có lấy ví dụ vì sao cần mảng. Giả sử ta có mảng lưu trữ tên của 30 học sinh đó rồi, giờ ta cần biết thêm về age, address, tên của phụ huynh,... thì sẽ làm như nào? Chẳng lẽ, tạo ra các array chứa age, address, .. hay sao? Rồi làm sao để in thông tin của học sinh đó ra?
Nếu như lớp 30 học sinh thì sao, có đảm bảo rằng tất cả thông tin sẽ chính xác. Chính vì thế, js cho ra thêm khái niệm về Object. Dịch ra có nghĩa là đối tượng( như hoa, xe, người,...) Đã là đối tượng thì sẽ có thuộc tính(màu gì, tên, tuổi, ...) và phương thức( như người thì có ăn, chạy,..tóm lại là hành động) . Khai báo object như array, chỉ thay đổi dấu [] thành {}.
Cũng như aray, object có 2 kiểu khai báo. Đoạn code phía trên là 1 cách khai báo kết hợp giữa array và object. Giờ ta thấy có vẻ là dễ nhìn hơn, và k sợ bị nhầm thông tin.
Nói thêm 1 chút về object. Ở C++, object học để viết code theo OOP(Object Oriented Programming hay còn gọi là lt hướng đối tượng). Sang JS cũng vậy, js có 2 kiểu viết chủ yếu là class cpn và func. Trước đây thì trong ReactJS thì class cpn khá là phổ biến, nhưng từ khi ra đời hook, nó sp cho func thì ít khi có dự án viết theo class cpn. Nhưng k có nghĩa là k cần, vì e thấy tính kế trong class khá là hay.
Ở trên e có nói là đối tượng sẽ có thuộc tính và phương thức(hành động), thuộc tính là những gì miêu tả về đối tượng như name, age, address và phương thức là những gì đối tượng hành động như run. Trong đó, phương thức phải ở dưới dạng function. Về function là gì ta sẽ học ở bài dưới, vì phần này sẽ có rất nhiều thứ phải học.
Để truy cập vào thuộc tính hay phương thức của 1 đối tượng, ta dùng toán tử dấu chấm(.), trong đó khi truy cập vào phương thức ta cần thêm (). Tại sao phải() thì ta sẽ đc học ở bài function.
Cách bác vào trình duyệt hiển thị file HTMl, chuột phải chọn Inpsect rồi chọn console, bấm dấu mũi tên ta thấy các prototype của object
Phần này e nghĩ các bác nên search trên mạng để đọc cho dễ hiểu, e đề cử đọc của mozilla.
Bài này end đến đây thôi các bác, k phải là e k nói kĩ, mà e nghĩ chỉ cần biết những kiến thức căn bản như này là đc. Để những bài sau vừa học kiến thức mới + bổ sung các kiến thức nâng cao, đi sâu hơn.