Bạn có muốn hẹn hò cùng js?

Trong bài viết này, mình sẽ giới thiệu với các bạn một người mà mình vừa mới quen (và crush) gần đây. Cậu ấy là tên là js, tên đầy đủ là Javascript. Tuy mới quen, nhưng cậu ấy làm mình thực sự ấn tượng lắm. Vậy nên, mình đã viết bài viết này, hi vọng có thể chia sẻ với những bạn đang hoặc sẽ crush cậu ấy, cách để có thể có những buổi hẹn hò tuyệt vời và đáng nhớ cùng js. ahihi 😄


Đầu tiên, bạn có muốn hẹn hò cùng js không nhỉ?

Js là một ngôn ngữ lập trình kịch bản phía client. Với xuất phát điểm đó, Js đã từng không nhận được sự coi trọng của các lập trình viên vì cậu ấy không phải là một ngôn ngữ lập trình được phát triển nghiêm túc như các ngôn ngữ lập trình phía máy chủ là Java, C, Python,... Tuy nhiên, nhờ quá trình "dậy thì khá thành công" thì giờ js đã trở thành một ngôn ngữ rất phổ biến và là ngôn ngữ nên học đầu tiên cho người mới bắt đầu. Vì vậy, nếu bạn chưa crush cậu ấy thì hãy tìm hiểu cậu ấy ngay đi nhé! rồi bạn sẽ nhận ra quen biết cậu ấy hạnh phúc đến nhường nào.


Nhưng lý do gì đã làm js trở nên phổ biến như vậy?
  • Thứ nhất: Bạn hoàn toàn có thể làm fullstack một project bằng js, ví dụ như sử dụng nodejs.
  • Thứ hai: JavaScript cung cấp các hiệu ứng động như các cửa sổ pop-up và AJAX, làm những trang web không chỉ có view đẹp hơn mà dữ liệu cũng được cập nhật nhanh chóng mà không cần refresh lại trang. Js sẽ làm trang web của bạn sinh động hơn rất nhiều, mà html + css không thể làm được.

Tưởng tượng một chút về sự tuyệt vời của js nào 😄:


Đó, muốn hẹn hò rồi, giờ làm thế nào để làm quen với cậu ấy đây?

Thì cứ trực tiếp tìm hiểu về cậu ấy thôi. Cậu ấy nổi tiếng lắm, tựa như idol ý. Cậu ấy có cực nhiều fan nhé, search Google có mà ra cả lố.

Dưới đây là một số link mà mình đã sử dụng khi bắt đầu tìm hiểu về cậu ấy nè:

https://www.w3schools.com/js/

https://developer.mozilla.org/en-US/docs/Learn/JavaScript

https://www.codecademy.com/

https://toidicode.com/hoc-javascript

Đùa chút thôi 😉 Tương tự như khi tìm hiểu các ngôn ngữ lập trình khác, khi tìm hiểu js, bạn cần phải tìm hiểu về các khái niệm cốt lõi của js, như:

  • Kiểu dữ liệu
  • Cú pháp cơ bản
  • Quy ước
  • ...

Các quy ước và cú pháp của js thuần thực ra khá đơn giản và tương tự như các ngôn ngữ lập trình khác nên bạn có thể học nhanh phần này và tập trung vào DOM. Đây chính là phần rất quan trọng trong js.

Khi page được load, browser sẽ tạo DOM (Document Object Model) cho page. Nhờ vậy, js có thể:

  • Thay đổi tất cả các phần tử HTML trong page
  • Thay đổi tất cả các thuộc tính HTML trong page
  • Thay đổi tất cả các kiểu CSS trong page
  • Xóa các phần tử và thuộc tính HTML hiện có
  • Thêm các thành phần và thuộc tính HTML mới
  • Xử lý tất cả các sự kiện HTML hiện có trong page
  • Tạo các sự kiện HTML mới trong page

Một điều nữa, nếu bạn vừa mới bắt đầu học js, thì đừng vội đâm đầu vào các framework nhé. Nó có vẻ rất hữu ích nhưng cái gì cũng nên học từ căn bản/gốc rế trước, vì điều đó sé giúp bạn:
  • Bắt kịp xu hướng: Thực tế thì công nghệ luôn thay đổi, hôm nay là Angular, mai là Vue, là React, ai biết đến ngày kia liệu có một Framgiajs không cơ chứ, nên nếu bạn cứ mãi theo đuổi trào lưu mới mà lại không có căn bản thì bạn sẽ luôn bị động và chẳng bao giờ thoát khỏi cái vòng luẩn quẩn đó cả.
  • Sử dụng js một cách linh hoạt và hợp lý.
  • Giúp bạn hiểu cơ chế làm việc giữa trình duyệt và máy tính.

Nhưng nhiều thông tin quá, làm sao giờ?

Hãy: "Luôn luôn tò mò, luôn luôn đọc mã nguồn và luôn luôn tự mình làm thử ". Đó là một câu nói rất hay mà mình đã đọc được ở trong bài viết này, và mình đã luôn áp dụng nó từ khi bắt đầu học js. Tư tưởng đó thực sự rất có hiệu quả. Vì lượng thông tin về js quá nhiều, nên thay vì việc chỉ ghi chép thông tin một cách vô thức, hãy luôn đặt câu hỏi với những điều bạn tìm hiểu được và làm thử chúng. Đọc mã nguồn sẽ giúp bạn code gọn và sạch hơn so với việc chỉ áp dụng máy móc mấy cái câu lệnh trong các tài liệu.



Mình và cậu ấy cũng mới quen nhau, nên mình cũng chưa thực sự hiểu về cậu ấy, vậy nên những bài viết của mình chỉ đơn giản là những ghi chú lại kinh nghiệm mà mình thu được khi tìm hiểu về js. Vì vậy, nếu có thiếu sót hoặc nhầm lẫn gì, mình mong nhận được sự góp ý của các bạn để mình có thể hiểu hơn về js.


Tài liệu tham khảo:

https://techmaster.vn/posts/33621/ngon-ngu-javascript-la-tuong-lai-cua-lap-trinh

https://viblo.asia/p/ban-nen-hoc-javascript-thuan-truoc-khi-hoc-cac-framework-js-3Q75wDE7KWb