Sau đây hãy cùng Thế giới JS tìm hiểu một cách đầy đủ và dễ hiểu nhất về Javascript cho các bạn mới cũng như các bạn đã biết về ngôn ngữ phổ biến này.
1.Javascript là gì?
JavaScript là một ngôn ngữ lập trình gọn nhẹ, đa nền tảng và được tích hợp, còn được gọi là ngôn ngữ kịch bản cho các trang web. Nó nổi tiếng với việc phát triển các trang web, nhiều môi trường không có trình duyệt cũng sử dụng nó. JavaScript có thể được sử dụng để phát triển phía Máy khách(Client-side) cũng như phát triển phía Máy chủ(Server-side). Javascript là loại ngôn ngữ bắt buộc và khai báo. JavaScript chứa một thư viện tiêu chuẩn gồm các đối tượng, như Mảng(Array), Ngày tháng(Date) và Toán học , cùng một tập hợp cốt lõi gồm các thành phần ngôn ngữ như toán tử , cấu trúc điều khiển và câu lệnh .
- Phía máy khách(Client-side): Nó cung cấp các đối tượng để điều khiển trình duyệt và Mô hình đối tượng tài liệu (DOM) của nó. Giống như nếu tiện ích mở rộng phía máy khách cho phép ứng dụng đặt các thành phần trên biểu mẫu HTML và phản hồi các sự kiện của người dùng như nhấp chuột , nhập biểu mẫu và điều hướng trang . Các thư viện hữu ích cho phía máy khách là AngularJS , ReactJS , VueJS và nhiều thư viện khác.
- Phía máy chủ(Server-side): Nó cung cấp các đối tượng liên quan đến việc chạy JavaScript trên máy chủ. Chẳng hạn như nếu tiện ích mở rộng phía máy chủ cho phép ứng dụng giao tiếp với cơ sở dữ liệu và cung cấp thông tin liên tục từ lệnh gọi này sang lệnh gọi khác của ứng dụng hoặc thực hiện thao tác tệp trên máy chủ. Framework hữu ích nổi tiếng nhất hiện nay là node.js .
- Ngôn ngữ mệnh lệnh(Imperative language) – Trong loại ngôn ngữ này, chúng ta chủ yếu quan tâm đến cách thức thực hiện. Nó chỉ đơn giản là kiểm soát dòng tính toán. Cách tiếp cận lập trình theo thủ tục, đối tượng, cách tiếp cận hướng đến theo cách này giống như async đang chờ chúng ta đang suy nghĩ những gì sẽ được thực hiện thêm sau cuộc gọi không đồng bộ.
- Lập trình khai báo(Declarative programming) – Trong loại ngôn ngữ này, chúng ta quan tâm đến việc nó được thực hiện như thế nào, về cơ bản ở đây yêu cầu tính toán logic. Ở đây, mục tiêu chính là mô tả kết quả mong muốn mà không cần mô tả trực tiếp về cách đạt được kết quả như hàm mũi tên.
Có thể bạn đọc tới đây có khá nhiều từ ngữ khó hiểu, tuy nhiên bạn đừng hoang mang, hãy đọc hết toàn bộ series này, bạn sẽ hiểu chúng sâu hơn.
JavaScript có thể được thêm vào tệp HTML của bạn theo hai cách :
- JS nội bộ: Chúng ta có thể thêm JavaScript trực tiếp vào tệp HTML của mình bằng cách viết code bên trong thẻ <script>. Thẻ <script> có thể được đặt bên trong thẻ <head> hoặc <body> tùy theo yêu cầu.
- JS bên ngoài : Chúng tôi có thể viết code JavaScript trong tệp khác có phần mở rộng.js và sau đó liên kết tệp này bên trong thẻ <head> của tệp HTML mà chúng tôi muốn thêm code này vào.
Cú pháp:
<script> // JavaScript Code </script>
Thí dụ:
// https://vpsus.vn/ // https://www.facebook.com/groups/893052378563701 // https://twitter.com/thegioijs <!DOCTYPE html> <html lang="en"> <head> <title> Basic Example to Describe JavaScript </title> </head> <body> <!-- JavaScript code can be embedded inside head section or body section --> <script> console.log("Welcome to vpsus"); </script> </body> </html>
Đầu ra: Đầu ra sẽ hiển thị trên bàn điều khiển(màn hình console).
Welcome to vpsus
Lịch sử JavaScript: Nó được tạo ra vào năm 1995 bởi Brendan Eich khi ông còn là kỹ sư tại Netscape. Ban đầu nó được đặt tên là LiveScript nhưng đã được đổi tên. Không giống như hầu hết các ngôn ngữ lập trình, ngôn ngữ JavaScript không có khái niệm về đầu vào hoặc đầu ra. Nó được thiết kế để chạy dưới dạng ngôn ngữ kịch bản trong môi trường máy chủ và tùy thuộc vào môi trường máy chủ để cung cấp các cơ chế giao tiếp với thế giới bên ngoài. Môi trường máy chủ phổ biến nhất là trình duyệt.
Các tính năng của JavaScript: Theo một cuộc khảo sát gần đây do Stack Overflow thực hiện, JavaScript là ngôn ngữ phổ biến nhất trên trái đất.
Với những tiến bộ trong công nghệ trình duyệt và JavaScript đã chuyển sang máy chủ với Node.js và các khung khác, JavaScript có khả năng làm được nhiều hơn thế. Dưới đây là một số điều chúng ta có thể làm với JavaScript:
- JavaScript được tạo ra ngay từ đầu để thao tác trên DOM. Các trang web trước đây chủ yếu là tĩnh, sau khi JS được tạo ra, các trang web động đã được tạo ra.
- Các hàm trong JS là các đối tượng. Chúng có thể có các thuộc tính và phương thức giống như một đối tượng khác. Chúng có thể được truyền dưới dạng đối số trong các hàm khác.
- Có thể xử lý ngày và giờ.
- Thực hiện Xác thực Biểu mẫu mặc dù các biểu mẫu được tạo bằng HTML.
- Không cần trình biên dịch.
2.Các ứng dụng của Javascript:
- Phát triển web(Web Development): Thêm tính tương tác và hành vi vào các trang web tĩnh JavaScript được phát minh để thực hiện điều này vào năm 1995. Bằng cách sử dụng AngularJS để tương tác và hành vi vào các trang web.
- Ứng dụng web(Web Applications): Với công nghệ, các trình duyệt đã được cải thiện đến mức cần có một ngôn ngữ để tạo các ứng dụng web mạnh mẽ. Khi khám phá một bản đồ trong Google Maps, chúng ta chỉ cần nhấp và kéo chuột. Tất cả chế độ xem chi tiết chỉ cần một cú nhấp chuột và điều này chỉ có thể thực hiện được nhờ JavaScript. Nó sử dụng Giao diện lập trình ứng dụng (API) cung cấp thêm sức mạnh cho code. Electron và React rất hữu ích trong phần này.
- Ứng dụng máy chủ(Server Applications): Với sự trợ giúp của Node.js, JavaScript đã đi từ máy khách đến máy chủ và node.js là ứng dụng mạnh nhất ở phía máy chủ.
- Trò chơi(Game): Không chỉ trong các trang web, JavaScript còn giúp tạo trò chơi để giải trí. Sự kết hợp giữa JavaScript và HTML 5 cũng làm cho JavaScript trở nên phổ biến trong phát triển trò chơi. Nó cung cấp thư viện EaseJS cung cấp các giải pháp để làm việc với đồ họa phong phú.
- Đồng hồ thông minh(Smartwatches): JavaScript đang được sử dụng trong tất cả các thiết bị và ứng dụng có thể. Nó cung cấp một thư viện PebbleJS được sử dụng trong các ứng dụng đồng hồ thông minh. Framework này hoạt động cho các ứng dụng yêu cầu internet để hoạt động.
- Nghệ thuật: Các nghệ sĩ và nhà thiết kế có thể tạo bất cứ thứ gì họ muốn bằng cách sử dụng JavaScript để vẽ trên canvas HTML 5 và làm cho âm thanh hiệu quả hơn cũng có thể được sử dụng thư viện p5.js.
- Máy học(Machine Learning): Thư viện JavaScript ml5.js này có thể được sử dụng trong quá trình phát triển web bằng cách sử dụng máy học.
- Ứng dụng dành cho thiết bị di động(Mobile Applications): JavaScript cũng có thể được sử dụng để xây dựng ứng dụng cho ngữ cảnh không phải web. Các tính năng và cách sử dụng JavaScript làm cho nó trở thành một công cụ mạnh mẽ để tạo các ứng dụng di động. Đây là Framework để xây dựng web và ứng dụng di động bằng JavaScript. Sử dụng React Native, chúng ta có thể xây dựng các ứng dụng di động cho các hệ điều hành khác nhau. Chúng ta không yêu cầu viết code cho các hệ thống khác nhau. Viết một lần sử dụng nó ở bất cứ đâu!
3.Hạn chế của JavaScript:
- Rủi ro bảo mật: JavaScript có thể được sử dụng để tìm nạp dữ liệu bằng AJAX hoặc bằng cách thao tác với các thẻ tải dữ liệu như <img>, <object>, <script>. Các cuộc tấn công này được gọi là tấn công tập lệnh chéo trang. Họ đưa JS không phải là một phần của trang web vào trình duyệt của khách truy cập, do đó tìm nạp thông tin chi tiết.
- Hiệu suất: JavaScript không cung cấp cùng một mức hiệu suất như được cung cấp bởi nhiều ngôn ngữ truyền thống vì một chương trình phức tạp được viết bằng JavaScript sẽ tương đối chậm. Nhưng vì JavaScript được sử dụng để thực hiện các tác vụ đơn giản trong trình duyệt nên hiệu suất không được coi là một hạn chế lớn trong việc sử dụng nó.
- Độ phức tạp: Để thành thạo một ngôn ngữ kịch bản, các lập trình viên phải có kiến thức thấu đáo về tất cả các khái niệm lập trình, các đối tượng ngôn ngữ cốt lõi, các đối tượng phía máy khách và máy chủ, nếu không họ sẽ khó viết các tập lệnh nâng cao bằng JavaScript.
- Phương tiện xử lý lỗi và kiểm tra kiểu yếu: Là ngôn ngữ kiểu yếu vì không cần chỉ định kiểu dữ liệu của biến. Vì vậy, kiểm tra loại sai không được thực hiện bằng cách biên dịch.
4.Tại sao JavaScript được biết đến như một ngôn ngữ lập trình nhẹ?
JavaScript được coi là nhẹ do thực tế là nó có mức sử dụng CPU thấp, dễ triển khai và có cú pháp tối giản. Cú pháp tối giản như trong, nó không có kiểu dữ liệu. Mọi thứ được xử lý ở đây như một đối tượng. Nó rất dễ học vì cú pháp của nó tương tự như C++ và Java.
Một ngôn ngữ nhẹ không tiêu tốn nhiều tài nguyên CPU của bạn. Nó không gây quá tải cho CPU hoặc RAM của bạn. JavaScript chạy trong trình duyệt mặc dù nó có các mô hình và logic phức tạp, điều đó có nghĩa là nó sử dụng ít tài nguyên hơn các ngôn ngữ khác. Ví dụ: NodeJs, một biến thể của JavaScript không chỉ thực hiện tính toán nhanh hơn mà còn sử dụng ít tài nguyên hơn so với các đối tác của nó như Dart hoặc Java.
Ngoài ra, khi so sánh với các ngôn ngữ lập trình khác, nó có ít thư viện hoặc khung dựng sẵn hơn, góp phần làm cho nó trở nên nhẹ hơn. Tuy nhiên, điều này mang lại một nhược điểm là chúng ta cần kết hợp các thư viện và framework bên ngoài.
5.JavaScript được biên dịch hay tích hợp hay cả hai?
JavaScript được biên dịch và tích hợp. Trong các phiên bản trước của JavaScript, nó chỉ sử dụng trình thông dịch thực thi từng dòng code và hiển thị kết quả ngay lập tức. Nhưng theo thời gian, hiệu suất trở thành một vấn đề vì việc giải thích khá chậm. Do đó, trong các phiên bản mới hơn của JS, có thể là sau phiên bản V8, trình biên dịch JIT cũng được tích hợp để tối ưu hóa việc thực thi và hiển thị kết quả nhanh hơn. Trình biên dịch JIT này tạo code bytecode tương đối dễ viết code hơn. Code byte này là một tập hợp các hướng dẫn được tối ưu hóa cao.
Bộ máy V8 ban đầu sử dụng trình thông dịch để diễn giải code. Trong các lần thực thi tiếp theo, động cơ V8 tìm các mẫu như các hàm được thực thi thường xuyên, các biến được sử dụng thường xuyên và biên dịch chúng để cải thiện hiệu suất.
Tóm lại, JavaScript được biết đến nhiều nhất để phát triển trang web nhưng nó cũng được sử dụng trong nhiều môi trường không có trình duyệt. Và nó đáng là một ngôn ngữ cần biết của một lập trình viên hiện nay. Vì nhu cầu sử dụng nó khá nhiều.
Xem full tài liệu học JS MIỄN PHÍ tại đây.
Nếu bạn cảm thấy hữu ích và yêu thích Thế giới JS, hãy tham gia và theo dõi chúng tôi để nhận thêm nhiều kiến thức MIỄN PHÍ hơn nữa nhé:
Share to learn more than!