10+ sách hay nên đọc về JavaScript

10+ sách hay nên đọc về JavaScript

Chưa bao giờ JavaScript lại phát triển mạnh mẽ như thời gian gần đây. Hầu như mỗi năm JavaScript lại được cập nhật lên phiên bản mới, kèm theo những tính năng hay ho hấp dẫn giúp cuộc đời lập trình viên chúng ta “dễ thở” (hoặc ngược lại ^^’).

Thêm vào đó, sự phát triển của Babel hay cuộc chạy đua vũ trang của các trình duyệt giúp cho những tính năng mới trong JavaScript dễ dàng sử dụng hơn nhưng cũng đòi hỏi lập trình viên phải cập nhật liên tục để tận dụng triệt để khả năng của ngôn ngữ.

Hệ quả là những tài liệu JavaScript có sẵn bỗng nhanh chóng trở nên lỗi thời. Nhưng không sao, bôi cao sẽ khỏi. Dưới đây là 10+ sách hay nên đọc về JavaScript đáng đồng tiền bát gạo nhất từ cơ bản đến nâng cao và hoàn toàn MIỄN PHÍ.

1. Eloquent JavaScript

10+ sách hay nên đọc về JavaScript

Tác giả: Marijn Haverbeke

Số trang: 456

Năm xuất bản: 2018

Nhà xuất bản: No Starch Press

Eloquent JavaScript là một quyển sách đặc biệt, vì nó không chỉ giới thiệu về JS. Đối tượng độc giả mà sách hướng đến là những bạn đang chập chững làm quen với lập trình, do đó tác giả Haverbeke chú trọng giải thích những nguyên tắc của việc lập trình, mối quan hệ giữa ngôn ngữ lập trình và máy tính, v.v… Sách được chia làm ba phần:

  • Phần 1: Giới thiệu về ngôn ngữ JavaScript — biến, kiểu dữ liệu, cấu trúc chương trình, hàm, object và array, regex, v.v…
  • Phần 2: Hướng dẫn lập trình trên trình duyệt — DOM, xử lý sự kiện, v.v…
  • Phần 3: NodeJS căn bản

Bằng cách tiếp cận “học đi đôi với hành”, người đọc sẽ được hướng dẫn thực hiện vài ứng dụng nho nhỏ, từ xây dựng một robot giao hàng, cài đặt một ngôn ngữ lập trình đơn giản, đến thực hiện một website. Nhờ áp dụng ngay những kiến thức học được vào thực tế, độc giả có thể ghi nhớ nhanh chóng hơn.

Bạn có thể đọc quyển sách này miễn phí tại https://eloquentjavascript.net/

2. You Don’t Know JS

10+ sách hay nên đọc về JavaScript

Tác giả: Kyle Simpson

Năm xuất bản: 2015

Nhà xuất bản: O’Reilly

You Don’t Know JS là loạt sách gồm 6 quyển chuyên về JavaScript.

  • Phần 1: Up & Going — cung cấp những kiến thức cơ bản về lập trình nói chung và JavaScript nói riêng
  • Phần 2: Scope & Closures — giới thiệu về khái niệm tầm vực, phân biệt giữa tầm vực trong khối và hàm, v.v…
  • Phần 3:  this  & Object Prototypes — đề cập đến lập trình hướng đối tượng trong JavaScript, giới thiệu về lớp và prototype
  • Phần 4: Types & Grammar — kiểu dữ liệu trong JavaScript
  • Phần 5: Async & Performance — thực thi các thao tác bất đồng bộ và hiệu năng của ứng dụng JavaScript
  • Phần 6: ES6 & Beyond — phiên bản ES6 của JS và những khái niệm liên quan

Bạn có thể đọc sách miễn phí tại https://github.com/getify/You-Dont-Know-JS

3. Exploring ES6

10+ sách hay nên đọc về JavaScript

Tác giả: Axel Rauschmayer

Số trang: 641

Năm xuất bản: 2015 – 2018

Khi nói đến ES6, có lẽ không quyển sách nào qua được Exploring ES6 của Dr. Axel Rauschmayer – tác giả blog 2ality. Sách dày hơn 600 trang, mô tả chi tiết từng tính năng của ES6, từ let với const là gì, hàm mũi tên, modules, v.v… đến những chuyện bên lề như tại sao có khi lại gọi ES5 là ES2015. Sách dành cho những bạn đã có kiến thức về JavaScript.

Bạn có thể đọc miễn phí ở đây http://exploringjs.com/es6. Ngoài ra, tác giả còn hai quyển sách “chị em” cùng chủ đề: Exploring ES2016 and ES2017Exploring ES2018 and ES2019.

4. Understanding ECMAScript 6

10+ sách hay nên đọc về JavaScript

Tác giả: Nicholas Zakas

Số trang: 322

Nhà xuất bản: LeanPub

Một quyển sách khác về ES6. So với Exploring ES6 thì cuốn này mỏng hơn nhưng cũng bao hàm đầy đủ những tính năng quan trọng của ES6. Bạn có thể đọc sách miễn phí tại https://leanpub.com/understandinges6.

5. The Principles of Object-Oriented JavaScript

10+ sách hay nên đọc về JavaScript

Tác giả: Nicholas Zakas

Số trang: 120

Năm xuất bản: 2014

Nhà xuất bản: No Starch Press

Lập trình hướng đối tượng (object-oriented programming – OOP) trong JavaScript có thể hơi khác lạ nếu bạn đến từ những ngôn ngữ thuần OOP như Java hay C#. Nhưng cách thực hiện hướng đối tượng dựa vào bản mẫu (prototype-based) của JS lại làm cho ngôn ngữ này trở nên thú vị, vì cách tiếp cận này vẫn bảo toàn 4 nguyên tắc căn bản của OOP: tính khái quát (Abstraction), tính bao đóng (Encapsulation), tính kế thừa (Inheritance), và tính đa hình (Polymorphism).

Sách mỏng, dễ đọc, giúp bạn hiểu rõ hơn về cách thức objects được tổ chức và lưu trữ trong JavaScript. Dù cho sách vẫn dùng những khái niệm cũ của ES5, khi JavaScript chưa chính thức hỗ trợ  class , bạn vẫn có thể dễ dàng liên hệ những gì đọc được với ES6 class.

6. Rediscovering JavaScript – Master ES6, ES7, and ES8

10+ sách hay nên đọc về JavaScript

Tác giả: Venkat Subramaniam

Số trang: 257

Năm xuất bản: 2018

Nhà xuất bản: The Pragmatic Programmers

Rediscovering JavaScript là quyển sách dành cho những bạn đã tìm hiểu về ES6/7/8. Sách giới thiệu những kinh nghiệm thực tế khi làm việc với JS phiên bản mới, chẳng hạn như cách phân rã biến và sử dụng giá trị mặc định khi khai báo hàm, để đảm bảo chữ ký hàm vẫn rõ ràng và dễ sử dụng; hay lời khuyên không nên lạm dụng hàm mũi tên; hoặc những ví dụ về siêu lập trình (metaprogramming) trong JS. Mỗi chương đều có đi kèm bài tập, giúp bạn kiểm tra lại kiến thức của mình.

7. Professor Frisby’s Mostly Adequate Guide to Functional Programming

10+ sách hay nên đọc về JavaScript

Tác giả: Brian Lonsdorf

Lập trình hàm ngày càng được nhiều người quan tâm bởi những lợi ích mà nó mang lại. Nhưng trong quá trình tìm hiểu, có thể bạn sẽ bắt gặp những khái niệm “lạ hoắc lạ huơ” như Functor, IO hay (don’t you dare) Monad. Đừng tìm đâu xa, Mostly Adequate là quyển sách bạn muốn đọc ngay. Bằng giọng văn hài hước, cách hành văn dễ hiểu, “Giáo sư Frisby” Brian Lonsdorf sẽ dẫn bạn qua những ví dụ đơn giản nhất, kết hợp với nhau cho đến khi bạn vỗ đùi “hóa ra Monad là rứa”.

Sách có 12 chương, và bạn có thể đọc miễn phí ở https://mostly-adequate.gitbooks.io/mostly-adequate-guide/.

8. JavaScript Allongé, the “Six” Edition

10+ sách hay nên đọc về JavaScript

Tác giả: Reg “raganwald” Braithwaite

Nhà xuất bản: LeanPub

JavaScript Allongé là quyển sách về lập trình với hàm, “vô tình” lại được thể hiện bằng JavaScript. Phiên bản mới của sách sử dụng ES6, ngoài dùng class (de, lập trình hàm mà dùng class) còn đề cập đến mixin, generators, v.v… Bạn nhất định phải đọc quyển sách này cùng với quyển Mostly Adequate ở trên, nếu bạn hứng thú với lập trình hàm!

Sách có thể đọc miễn phí tại https://leanpub.com/javascriptallongesix/read.

9. Functional-Light JavaScript: Balanced, Pragmatic FP in JavaScript

10+ sách hay nên đọc về JavaScript

Tác giả: Kyle Simpson

Nhà xuất bản: LeanPub

So với hai quyển sách ở trên, Functional-Light JavaScript nhẹ nhàng hơn và không sử dụng những thuật ngữ chuyên sâu trong lập trình hàm. Thay vào đó, sách chỉ ra cách áp dụng những khái niệm của FP vào thực tế. Lời đề tựa của sách được viết bởi Giáo sư Frisby.

Đọc miễn phí tại https://github.com/getify/functional-light-js

10. Refactoring JavaScript – Turning Bad Code into Good Code

10+ sách hay nên đọc về JavaScript

Tác giả: Evan Burchard

Số trang: 499

Năm xuất bản: 2017

Nhà xuất bản: O’Reilly Media

Mặc dù mỗi dự án sẽ có những tính chất đặc thù, dẫn đến những chiến lược refactoring khác nhau, nhưng quyển sách này có thể cung cấp cho bạn một cái nhìn khái quát khi bắt tay vào sửa chữa code JavaScript. Sách bắt đầu bằng cách đặt câu hỏi mục tiêu refactoring là gì, mục tiêu bạn hướng đến khi refactor, sau đó gợi ý những chiến lược riêng để xử lý chuỗi, hàm, mã chết, hay những tác vụ bất đồng bộ.

Mình khuyên đọc nếu bạn đang có ý định “đập đi xây lại” với dự án hiện tại. Thường thì phá dễ hơn sửa, và đôi khi chưa hẳn là giải pháp tốt. Bạn có thể download quyển sách này MIỄN PHÍ tại http://refactoringjs.com/.

11. Simplifying JavaScript – Writing Modern JavaScript with ES5, ES6, and Beyond

10+ sách hay nên đọc về JavaScript

Tác giả: Joe Morgan

Số trang: 255

Năm xuất bản: 2018

Nhà xuất bản: The Pragmatic Programmers

Nhìn tựa có vẻ như nói về JS thế hệ mới, nhưng nội dung chính của quyển sách này là những mẹo/ lời khuyên để bạn có thể viết JavaScript rõ ràng hơn. Do đó, nếu bạn là người “hốt rác” chuyên nghiệp, đừng bỏ qua quyển sách này.

12. JavaScript Guide của MDN

10+ sách hay nên đọc về JavaScript

Mặc dù không phải là sách nhưng đây chính là kho tài liệu về JavaScript mà bất cứ ai học về nó đều biết tới. “Hướng dẫn JavaScript” của Mạng lập trình viên Mozilla (Mozilla Developer Network – MDN) là tài liệu đầu tiên bạn cần tham khảo – cực kì đầy đủ và luôn được cập nhật mỗi khi JS phát hành phiên bản mới. Tài liệu được chia ra làm ba phần:

  • Sơ cấp: giới thiệu những khái niệm căn bản của JavaScript, cách khai báo biến, giá trị, các cấu trúc điều khiển và vòng lặp  if/else/for/while/switch , cách khai báo hàm và biểu thức, các lớp căn bản như  Date  hay  RegExp  v.v…
  • Trung cấp: giới thiệu về lập trình hướng đối tượng trong JavaScript, làm việc với các APIs của trình duyệt, khái niệm closure, v.v…
  • Cao cấp: phần này tập trung vào những khái niệm nâng cao như các liên kết prototype, cách thao tác trực tiếp lên dữ liệu dạng nhị phân, quản lý bộ nhớ và cách thức EventLoop hoạt động, v.v…

Bên cạnh đó, tài liệu này cũng nhắc đến những vấn đề không liên quan đến kỹ thuật, chẳng hạn như sự liên hệ giữa JavaScript và Java (bật mí: không có liên quan gì hết ^^’), hay JavaScript và ECMAScript có dây mơ rễ má ra sao.

Nếu bạn còn “mới tinh” về JavaScript, chỉ cần đọc hết 8 chương đầu tiên, cùng với phần “Working with objects“, bạn đã có thể nắm căn bản về ngôn ngữ rồi. Tiếp đến, hãy bắt tay vào làm một ứng dụng nhỏ để củng cố kiến thức. Sau này, khi đã quen với JavaScript, bạn hãy quay lại và xem những chủ đề trung hoặc cao cấp hơn.

Tài liệu được cung cấp miễn phí tại https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide

Nguồn: https://ehkoo.com/bai-viet/free-javascript-books-beginner-advanced

Các bạn có thể tham khảo các bài viết hay về JavaScript tại đây.


Hãy tham gia nhóm Học lập trình để thảo luận thêm về các vấn đề cùng quan tâm.

CodeGym Full-stack

Leave a Reply

Your email address will not be published. Required fields are marked *