Có nên học Vanilla JavaScript? Chắc chắn rồi!

3822

Mục đích của bài viết này là để nhấn mạnh tầm quan trọng của JavaScript cơ bản đối với front-end developer. Tôi sẽ giải thích cho bạn hiểu vì sao bạn nên biết về (Vanilla) JavaScript. 

Ngoài ra, tôi cũng sẽ đưa một số nguồn học hữu ích để cho bạn bắt đầu tìm hiểu.

Mặt khác, tôi mong bài viết này sẽ giúp các web developers có thêm động lực để không bỏ qua nhưng phần quan trọng của JavaScript như hoisting, closures, hay prototypes và chỉ biết nhắm tới các frameworks như React hay Angular 2.

Mọi người đều muốn developer biết về ${addTheHotFramework}…

Vậy bạn có lí do gì để bỏ qua Vanilla JavaScript?

Rất khó để trở thành một developer giỏi nếu không hiểu cái nền tảng của một ngôn ngữ. Bạn sẽ cần biết về những qui luật trước khi bắt đầu trò chơi.

Tôi cảm thông với nhiều web developer muốn được đi làm sớm. Chính bản thân tôi cũng từng như vậy.

…..nhưng học về Vanilla JavaScript sẽ giúp ích cho bạn rất nhiều trong tương lai

Xin đừng hiểu nhầm rằng tôi có thành kiến đối với JavaScript frameworks. Nó hoàn toàn ngược lại. Rất nhiều trong số chúng sẽ giúp bạn viết code vừa đẹp lại sạch, dễ bảo trì và debug.

Thế nhưng JavaScript ecosystem đang phát triển quá nhanh. Các frameworks mới vẫn mọc lên như nấm. Nhiều tính năng được cải thiện và tích hợp. Và quan trọng nhất là tất cả những framework ngày nay sẽ bị thay thế bởi những kẻ kế thừa trong tương lai.

Do đó, bạn có còn nghĩ việc biết một JavaScript framework có đủ không?

Hay việc phải biết tất cả mọi libraries và frameworks liệu có khả thi?

Còn nếu bạn đã quen thuộc với nền tảng của JavaScript thì khi phải dùng framework mới thì bạn sẽ chỉ mất công học về cú pháp. Bởi những qui luật đều được giữ nguyên.

Ngược lại, bạn mà chỉ biết về một JavaScript framework thì sẽ rất khó khi muốn học thêm bởi mỗi framework sẽ dùng một set các qui luật JavaScript khác nhau. Như vậy sẽ rất mất thời gian để bạn học chúng cũng như dễ bị bug khi code hơn.

Các JavaScript frameworks và libraries đều dựa trên Vanilla JavaScript.

Do đó nếu bạn muốn gắng bó dài lâu thì phải biết Vanilla JavaScript. Nó là một trong những yêu cầu cần thiết để một developer thành công, đặc biệt là khi làm trong JavaScript ecosystem.

Kinh nghiệm cá nhân

Tôi trước khi làm developer đã từng là một luật sư. Chỉ mới cách đây 18 tháng, tôi viết được JavaScript function đầu tiên của mình, và từ tháng thứ mười tôi đã bắt đầu làm việc như một front-end developer.

Do không hề có bất kì kiến thức gì về lập trình, tôi đã mất rất nhiều thời gian để có thể học JavaScript đúng cách. Tôi đã thử qua nhiều cách thức học khác nhau, một số khá là tốt và số khá thì không được như vậy.

Nhưng quan trọng nhất vẫn là việc bạn sẽ phải học JavaScript và nền tảng của nó ngay từ lúc bắt đầu. Frameworks chỉ đứng thứ hai sau đó.

Hiện tại, tôi đang làm việc với một ReactRedux stack. Dù vậy, tôi vẫn thường gặp phải những vấn đề mà may mắn thay vẫn giải quyết được nhờ kinh nghiệm về Vanilla JavaScript. Đây là những bug cực kì thách thức nếu bạn chỉ biết vài framework.

Học React hay Angular 2 sẽ không giúp bạn biết objects sẽ được passed bởi reference  hay cách closures hoạt động. Để hiểu được những phạm trù này chỉ với framework sẽ rất là khó khăn.

Hơn nữa, khi làm về JSX (React, Vue, Inferno) hay TypeScript (Angular 2), bạn sẽ cần phải hiểu rõ cách mà các framework này hoạt động. Do đó, bạn cũng cần phải biết về JavaScript trước tiên.

Vậy thì tôi nên học JavaScript ở đâu?

Câu hỏi mà hẳn bạn đang thắc mắc là: “Có nguồn nào tốt để học Vanilla JavaScript?”

Phải nói rằng có hàng tấn các nguồn và sách về JavaScript và frameworks của nó. Tuy vậy chỉ có vài nguồn là thật sự tập trung về Vanilla JavaScript.

Eloquent JavaScript sẽ giúp bạn không chỉ hiểu về JavaScript mà còn cả nền tảng của lập trình. Nếu bạn đã là một developer thì cuốn sách này sẽ cho bạn một cái nhìn mới về JavaScript.

Một nguồn khác cũng khá tuyệt là series sách You Don’t Know JavaScript (YDKJS)  của Kyle Simpson. Kyle rất giỏi trong việc giảng dạy. Những bài học của ông dù là về những khái niệm phức tạp trong JavaScript vẫn rất dễ hiểu và chi tiết.

Một trong những điều tuyệt nhất về Eloquent JavaScript và YDKJS là bạn có thể đọc chúng miễn phí.

Còn nếu bạn thích xem video hơn là đọc sách thì tôi khuyến khích bạn thử qua Kyle’s online coursesJavascript: Understanding the Weird Parts của Anthony Alicea.

Hãy học Vanilla JavaScript ngay từ bây giờ

Bạn sẽ không hối tiếc khi đầu tư thời gian quí giá của mình vào Vanilla JavaScript. Nó sẽ thật sự giúp cải thiện kĩ năng lập trình của bạn.

Với tôi, việc học JavaScript thật sự đem lại lợi ích to lớn hơn là đầu tư vào việc chỉ học Framework thôi. Bởi chúng đều chỉ là những con đường tắt, và ẩn sâu bên dưới, JavaScript là người điều khiển tất cả.

Nếu bạn có thể rút ra một điều gì sau khi đọc bài viết này, có lẽ nó sẽ tương tự như sau:

Vanilla JavaScript sẽ giúp bạn trở thành một developer thành công.

Nguồn: blog.topdev.vn via Medium