Chào tất cả các bạn, hôm nay cafedev sẽ giới thiệu mọi thứ về ngôn ngữ JavaScript, một ngôn ngữ rất phổ biển trong giới developer, qua bài này chúng ta sẽ nắm rõ và biết được JavaScript là gì?, Nó hoạt động như thế nào?, Chúng ta có thể làm gì với nó?. Và một số kiến thức quan trọng về nó mà các develop không nên bỏ qua, đặc biệt khá hữu ích khi phỏng vấn.
Nội dung chính
JavaScript là gì?
![](https://cafedev.vn/wp-content/uploads/2019/12/cafedev_javascript.png)
JavaScript là ngôn ngữ lập trình, nó cho phép chúng ta triển khai các tính năng phức tạp trên các trang web. Làm cho một trang web không chỉ hiển thị thông tin tĩnh để bạn xem mà còn cung cấp thêm khá nhiều tính năng mới như: hiển thị cập nhật nội dung kịp thời, tương tác bản đồ, đồ hoạ 2D / Đồ họa 3D, video, animation các kiểu..v.v.
Nói cách dễ hiểu hơn, JavaScript là một ngôn ngữ lập trình website, được tích hợp và nhúng trong HTML giúp website sống động hơn. JavaScript cho phép kiểm soát các hành vi của trang web tốt hơn so với khi chỉ sử dụng mỗi HTML.
JavaScript là ngôn ngữ lập trình được hỗ trợ hầu như trên tất cả các trình duyệt như Firefox, Chrome, … thậm chí các trình duyệt trên thiết bị di động.
Trước khi tìm hiểu thêm về JavaScript, bạn cũng nên nắm rõ các khái niệm sau:
- HTML là gì?
- CSS là gì?
- HTML là ngôn ngữ đánh dấu(markup language) mà chúng ta sử dụng để cấu trúc và tạo nội dung của trang web, ví dụ: xác định đoạn văn, tiêu đề và bảng dữ liệu nào đó hoặc nhúng hình ảnh và video trong trang….
- CSS là ngôn ngữ với các quy tắc style mà chúng ta sử dụng để áp dụng các style nào đó cho nội dung HTML của chúng ta, ví dụ: đặt màu nền và phông chữ và đặt nội dung của chúng ta trong nhiều cột v.v. Tóm lại là dùng để làm đẹp cho trang HTML của chúng ta.
JavaScript dùng để làm gì?
![](https://cafedev.vn/wp-content/uploads/2019/12/cafedev_use_js.png)
JavaScript là một ngôn ngữ lập trình nên chắc một điều là nó dùng để lập trình, nhưng chi tiết hơn nó sẽ làm gì? chúng ta sẽ cùng tìm hiều sau đây:
JavaScript được dùng trong rất nhiều lĩnh vực khác nhau:
- Lập trình website.
- Xây dựng ứng dụng cho máy chủ.
- Làm ra ứng dụng di động(React native), trò chơi.
- ….
Chúng ta có thể tưởng tượng một số công việc đơn giản của JavaScript khi tải một trang web như sau, trình duyệt sẽ phân tích cú pháp HTML và tạo ra một loại dữ liệu gọi là DOM từ nội dung. DOM thể hiện chế độ xem trực tiếp của trang web với code JavaScript. Và thông qua code JavaScript này để thực hiện cập nhật cho DOM và được trình bày ngay lập tức cho người dùng. Ví dụ như:
Trình duyệt sẽ ghi nhận các sự kiện giao diện người dùng như: di chuyển chuột, nhấp chuột, v.v. Sau đó, tùy theo phản hồi của người dùng, đoạn code JavaScript sẽ thực hiện công việc được lập trình tương ứng.
Ở đây chúng ta sẽ di chi tiết hơn về ứng dụng của nó trong lập trình web vì nó là một ngôn ngữ lập trình phổ biến sử dụng trên 92% nền tảng website hiện nay, JavaScript đã thể hiện vai trò quan trọng với lĩnh vực này. Tầm quan trọng của nó thể hiện qua các thao tác, công dụng như:
- Triển khai tập lệnh phía client
Nhờ Javascript, các lập trình viên có thể dễ dàng viết tập lệnh phía client, tích hợp các tập lệnh một cách liền mạch vào HTML, cho phép website tương tác, trả lời người dùng ngay lập tức và tạo ra giao diện hiển thị phong phú hơn.
- Viết code phía server
Các lập trình viên cũng có thể viết code phía server bằng JavaScript.
- Đơn giản hóa phát triển ứng dụng web phức tạp
Javascript cho phép các developer đơn giản hóa thành phần của ứng dụng, qua đó đơn giản hóa việc phát triển các ứng dụng web phức tạp.
- Thiết kế web responsive
JavaScript cho phép thiết kế web responsive – tối ưu trên cả máy tính và thiết bị di động chỉ với một bộ code.
- Google AMP
Để tham gia vào dự án Tăng tốc trang di động (AMP) của Google, các lập trình viên phải sử dụng ngôn ngữ lập trình JavaScript.
- Nhiều bộ chuyển đổi
Mặc dù thiếu một số tính năng phức tạp được cung cấp bởi các ngôn ngữ lập trình hiện đại như Java và C#, JavaScript vẫn có thể dễ dàng mở rộng bằng cách sử dụng các bộ chuyển đổi như CoffeeScript, TypeScript, DukeScript và Vaadin.
Các thư viện Javascript phổ biến
Hiện nay có rất nhiều thư viện và framework được viết từ Javascript như:
- jQuery: Chuyên về hiệu ứng.
- js: Chuyên xây dựng ứng dụng thời gian thực.
- AngularJS, Vue: Chuyên xây dựng ứng dụng trang cá nhân.
- ReactJS: Chuyên viết ứng dụng mobile.
- Một số thư viện khác như ExtJS, Sencha Touch,….
Ưu điểm và nhược điểm của JavaScript
Ưu điểm của JavaScript là gì?
JavaScript có rất nhiều ưu điểm vượt trội hơn so với các đối thủ khác, chẳng hạn như:
- JavaScript là ngôn ngữ lập trình dễ học.
- Lỗi của JavaScript dễ phát hiện hơn và vì vậy dễ sửa hơn.
- JavaScript hoạt động trên nhiều trình duyệt, đa nền tảng.
- JavaScript giúp website tương tác tốt hơn với khách truy cập.
- JavaScript nhanh hơn và nhẹ hơn các ngôn ngữ lập trình khác.
Nhược điểm của JavaScript là gì?
Không ngôn ngữ lập trình nào là hoàn hảo và không có khuyết điểm. Bởi JavaScript là ngôn ngữ lập trình phổ biến, được sử dụng rộng rãi trên nền tảng website, vì vậy nó cũng là đối tượng tiềm năng của một lượng lớn hacker, scammer – những kẻ chuyên tìm kiếm lỗ hổng và các lỗi bảo mật và thâm nhập, đánh cắp dữ liệu nội bộ.
Một số khuyết điểm của JavaScript có thể kể đến như:
- Dễ bị khai thác.
- Có thể được dùng để thực thi mã độc trên máy tính của người dùng.
- Có thể bị triển khai khác nhau tùy từng thiết bị dẫn đến việc không đồng nhất.
IDE để lập trình JavaScript là gì?
Cùng tóm tắt về khái niệm IDE là gì nhé! IDE (Integrated Development Environment) là môi trường lập trình tích hợp nhiều công cụ khác nhau như code editor, debugger, simulator…. Tổng thể mà nói, IDE là một phần mềm bao gồm những gói phần mềm khác giúp phát triển ứng dụng.
IDE JavaScript là các phần mềm chuyên dụng cung cấp môi trường lập trình JavaScript cho lập trình viên. Khi sử dụng IDE JavaScript, các developers được hỗ trợ code JavaScript tốt nhất.
Nên dùng IDE nào để code JavaScript?
Ví dụ dưới đây sẽ sử dụng notepad++ nhưng lời khuyên cho bạn nên sử dụng các IDE chuyên dụng lập trình web. Visual Studio là một công cụ khá phổ biến mà hầu hết lập trình viên nào cũng biết nên mình sẽ không liệt kê vào danh sách sau. Một số phần mềm IDE hay cho bạn ví dụ như:
- PHPdesigner: PHPdesigner giúp bạn có thể chỉnh sửa, thiết kế, truyền tải các PHP, HTML5, CSS3 và JavaScript vô cùng đơn giản. Chức năng tìm ra các lỗi trong dòng mã PHP của bạn phù hợp với Xdebug. Ngoài ra, phần mềm này còn hỗ trợ tất cả framework PHP phổ biến như Zend, CodeIgniter, Yii, Symfony và Prado.
- Dreamweaver: Dreamweaver hỗ trợ được rất nhiều loại ngôn ngữ như PHP, ASP.NET, JSP, ASP… Hầu hết các ngôn ngữ lập trình web. Dreamweaver có khá nhiều tiện ích dễ dàng thực hiện các thao tác kéo thả di chuyển các phần tử, các khung của một trang web hay viết code, thẻ tag, bảng mã màu dễ dàng chỉnh sửa, thanh công cụ đầy đủ chức năng tiện ích… tiết kiệm được rất nhiều thời gian cho học viên lập trình. Download Dreamweaver.
- PHP Sublime Text: IDE này được viết dựa trên ngôn ngữ lập trình Python và C++. Sublime Text là một Text Editor cực kỳ hiệu quả dành cho các lập trình viên không những làm tăng hiệu suất làm việc mà còn tiết kiệm thời gian gõ code với các Plugin hữu ích. Download PHP Sublime Text.
- Visual Studio Code: một IDE khá mạnh, nó cung cấp khá nhiều tuỳ chọn cho developer, không chỉ mỗi dev JavaScript mà còn support nhiều ngôn ngữ khác, thuận tiện cho ai muốn dev nhiều thứ mà chỉ tải 1 IDE. Tải ở đây.
Cách hoạt động của JavaScript
Có thể hiểu đơn giản như sau: JavaScript thường được nhúng trực tiếp vào một trang web hoặc được tham chiếu qua file .js riêng. Nó là ngôn ngữ lập trình từ phía client, tức là script được tải về máy của người dùng đang truy cập và được xử lý tại đó, thay vì xử lý trên server rồi mới đưa kết quả tới client.
Hy vọng bài này sẽ giúp các bạn có cái nhìn tổng quát và đẩy đủ về các khía cạnh của JavaScript, từ khái niệm tới cách hoạt động của nó như thế nào.