Javascript là ngôn ngữ gì thông dịch hay biên dịch năm 2024
Chắc hẳn chúng ta đã quen với rất nhiều ngôn ngữ như C, C++, Java, Python, Ruby, JavaScript, PHP, Swift, Kotlin điểm chung chúng là đều là ví dụ cho "High-level programming language" (Ngôn ngữ lập trình bậc cao) Show
Nhắc đến "Ngôn ngữ lập trình bậc cao" chắc các bạn cũng suy đoán được sẽ còn những "Low-level programming language" (Ngôn ngữ lập trình bậc thấp) đôi khi được gọi là "Machine language" (Ngôn ngữ máy) hay "Assembly language" (hợp ngữ) Một cách đơn giản, chúng ta có thể hiểu rằng máy tính chỉ có thể thực hiện các chương trình được viết bằng ngôn ngữ bậc thấp. Do đó, các chương trình viết bằng ngôn ngữ bậc cao cần được xử lý trước khi chạy. Bước này tốn thêm thời gian và là một hạn chế nhỏ của các ngôn ngữ bậc cao. Tuy nhiên, lợi ích lại rất lớn:
Vì những lợi ích này, hầu hết các chương trình được viết bằng ngôn ngữ bậc cao. Ngôn ngữ bậc thấp được sử dụng chỉ cho các ứng dụng đặc biệt. Ví dụ, trong lĩnh vực phát triển phần mềm nhúng, lập trình viên có thể sử dụng "ngôn ngữ hợp ngữ" để viết mã cho các vi điều khiển nhúng trong các thiết bị điện tử như ô tô, thiết bị y tế hoặc thiết bị gia dụng thông minh. Vậy làm sao để máy tính hiểu các ngôn ngữ bậc cao ? Có hai loại chương trình có nhiệm vụ chuyển đổi ngôn ngữ bậc cao thành dạng ngôn ngữ bậc thấp: "Trình thông dịch" và "Trình biên dịch."
Thông thường máy sẽ thực hiện biên dịch trước sau đó mới chạy mã lênh đã biên dịch. Khi đó, trương trình bậc cao sẽ được gọi là "Source Code" (Mã nguồn) Mình sẽ lấy ví dụ về ngôn ngữ Java. Chương trình java vừa được biên dịch lẫn thông dịch. Thay vì chuyển trương trình sang ngôn ngữ máy, trình biên dịch Java phát sinh ra "Java bytecode" "mã byte". Mã byte dễ thông dịch (và thông dịch cũng nhanh), giống như mã máy, song nó còn "khả chuyển", như một ngôn ngữ bậc cao . Vì vậy ta có thể biên dịch một chương trình trên máy này, đưa mã byte sang máy khác, sau đó thông dịch mã byte này trên máy mới. ('write once and run anywhere') Thực tế trong nhập môn java ta có thể thấy file "mã nguồn" x.java Trình biên dịch đọc mã lệnh rồi phát sinh byte code Java file x.class. Quá trình biên dịch này sẽ kiểm tra cú pháp và kiểm tra lỗi trong mã nguồn ,lúc này trình thông dịch java sẽ đọc byte code này và đưa ra kết quả trên màn hình console hoặc ghi vào một tệp nếu bạn đã cài đặt mã để làm như vậy. Mặc dù quá trình này có vẻ phức tạp, nhưng đa số các môi trường phát triển chương trình đều giúp bạn tự động thực hiện các bước kể trên. Thông thường bạn sẽ chỉ phải viết một chương trình rồi ấn nút hoặc gõ vào một câu lệnh để biên dịch và chạy. Tuy nhiên, Ta vẫn cần biết những bước nào đang được máy thực hiện ngầm, để ngỡ có trục trặc thì ta có thể hình dung ra sai ở khấu nào JavaScript là một trong những ngôn ngữ lập trình phổ biến nhất hiện nay. Vậy ngôn ngữ JavaScript có đặc điểm gì khác biệt, được ứng dụng như thế nào? Hãy tham khảo trong bài viết dưới đây. JavaScript được ứng dụng rộng rãi trong phát triển web, ứng dụng di động và trò chơi, khiến nó trở thành một trong những ngôn ngữ lập trình có giá trị và phổ biến nhất hiện nay.Ngôn ngữ lập trình JavaScript là gì?JavaScript là ngôn ngữ lập trình hoặc tập lệnh cho phép nhà phát triển triển khai tính năng phức tạp trên các trang web. Nhờ vậy, một trang web thực hiện nhiều việc hơn là chỉ hiển thị thông tin tĩnh cho người dùng, tăng khả năng tương tác. Hỗ trợ trang web cập nhật nội dung kịp thời, hoạt hình 2D/đồ họa 3D, tự động cuộn video, quảng cáo sinh động, màu sắc phần tử thay đổi,... chính là hiệu ứng của ngôn ngữ JavaScript. Là ngôn ngữ kịch bản phía máy khách, JavaScript là một trong những công nghệ cốt lõi của World Wide Web (www). Bên cạnh JavaScript, Ngôn ngữ đánh dấu siêu văn bản (HTML) và Ngôn ngữ định kiểu theo tầng (CSS) cũng là hai ngôn ngữ cùng tạo ra trải nghiệm người dùng tích cực trên trang web. Trong đó:
Ngôn ngữ JavaScript dùng để làm gì?Ngôn ngữ JavaScript cốt lõi phía máy khách bao gồm một số tính năng lập trình phổ biến, cho phép nhà phát triển thực hiện những việc như:
Điều thú vị là chức năng được xây dựng dựa trên ngôn ngữ JavaScript phía máy khách. Giao diện lập trình ứng dụng (API - Application programming interface) sẽ cung cấp cho nhà phát triển khả năng bổ sung, sử dụng trong mã JavaScript. API là tập hợp khối xây dựng mã (code) được tạo sẵn, cho phép nhà phát triển triển khai các chương trình mà nếu không có nó sẽ khó hoặc không thể thực hiện được. Đối với lập trình, sử dụng API giống như làm đồ nội thất khi xây nhà. Việc lấy các tấm vật liệu đã cắt và nối chúng lại với nhau để tạo thành một chiếc giá sách sẽ dễ dàng hơn nhiều so với việc thiết kế mới từ đầu, tìm chất liệu gỗ, cắt dán,... để tạo ra thành phẩm hoàn chỉnh. API thường được phân chia thành hai loại chính: API trình duyệt (Browser APIs) được tích hợp vào trình duyệt web và có thể hiển thị dữ liệu từ môi trường máy tính xung quanh hoặc thực hiện những việc phức tạp hữu ích. Ví dụ:
Tạo mô hình đối tượng tài liệu DOM - Ảnh: Internet
API của bên thứ ba không được tích hợp vào trình duyệt theo mặc định, thường phải lấy code và thông tin người dùng từ trên Web. Ví dụ:
JavaScript hoạt động như thế nào?Khi tải một trang web trong trình duyệt, bạn đang chạy mã của mình (HTML, CSS và JavaScript) bên trong môi trường thực thi (tab trình duyệt). Đây giống như một nhà máy lấy nguyên liệu thô (mã) và đưa ra sản phẩm (trang web). Một cách sử dụng JavaScript rất phổ biến là sửa đổi động HTML và CSS để cập nhật giao diện người dùng, thông qua DOM API (như đã đề cập ở trên). Lưu ý rằng mã trong tài liệu web thường được tải và thực thi theo thứ tự xuất hiện trên trang. Lỗi có thể xảy ra nếu JavaScript được tải và chạy trước HTML và CSS mà nó dự định sửa đổi. Bảo mật trình duyệtMỗi tab trình duyệt có một nhóm riêng để chạy mã trong đó. Các nhóm này được gọi là "môi trường thực thi" - execution environments theo thuật ngữ kỹ thuật. Điều này có nghĩa là trong hầu hết các trường hợp, mã trong mỗi tab được chạy hoàn toàn riêng biệt và không thể trực tiếp ảnh hưởng đến mã trong tab khác hoặc trên trang web khác. Đây là một biện pháp bảo mật tốt. Thứ tự chạy JavaScriptKhi trình duyệt gặp một khối JavaScript, nó thường chạy theo thứ tự từ trên xuống dưới. Điều này có nghĩa là nhà phát triển cần phải cẩn thận về thứ tự sắp xếp mọi thứ. Đây là một trong những lỗi phổ biến, cần lưu ý khi lập trình để đảm bảo các đối tượng được tham chiếu trong mã tồn tại trước khi cố gắng thực hiện các thao tác với chúng. Mã được giải thích và biên dịchTrong các ngôn ngữ thông dịch, mã được chạy từ trên xuống dưới và kết quả chạy mã được trả về ngay lập tức. Nhà lập trình không cần phải chuyển mã sang dạng khác trước khi trình duyệt chạy mã đó. Mã được nhận ở dạng văn bản thân thiện với người lập trình và được xử lý trực tiếp. Mặt khác, các ngôn ngữ được biên dịch sang dạng khác trước khi chúng được máy tính chạy. Trình duyệt web nhận mã JavaScript ở dạng văn bản gốc và chạy tập lệnh từ đó. Hầu hết các trình thông dịch JavaScript hiện đại sử dụng kỹ thuật biên dịch đúng lúc để cải thiện hiệu suất. Mã nguồn JavaScript được biên dịch sang định dạng nhị phân, trong khi tập lệnh đang được sử dụng để chạy nhanh nhất có thể. Tuy nhiên, JavaScript vẫn được coi là ngôn ngữ thông dịch vì quá trình biên dịch được xử lý trong thời gian chạy chứ không phải trước. Mã phía máy chủ và phía máy kháchMã phía máy khách là mã được chạy trên máy tính của người dùng. Khi một trang web được xem, mã phía máy khách của trang đó sẽ được tải xuống, sau đó chạy và hiển thị bởi trình duyệt. Mặt khác, mã phía máy chủ được chạy trên máy chủ, sau đó kết quả của nó được tải xuống và hiển thị trên trình duyệt. Ví dụ về các ngôn ngữ web phía máy chủ phổ biến bao gồm PHP, Python, Ruby, ASP.NET và thậm chí cả JavaScript. JavaScript cũng có thể được sử dụng làm ngôn ngữ phía máy chủ, chẳng hạn như trong môi trường Node.js phổ biến. Mã động (Dynamic) và mã tĩnh (Static)Từ động (dynamic) được sử dụng để mô tả cả ngôn ngữ JavaScript phía máy khách và phía máy chủ. Nó đề cập đến khả năng cập nhật của trang web/ứng dụng để hiển thị những thứ khác nhau trong nhiều trường hợp khác nhau, tạo ra nội dung mới theo yêu cầu. Mã phía máy chủ tự động tạo nội dung mới trên máy chủ, trong khi JavaScript phía máy khách tự động tạo nội dung mới bên trong trình duyệt trên máy khách. Một trang web không có nội dung cập nhật động được gọi là trang tĩnh - nó chỉ hiển thị cùng một nội dung mọi lúc. Ngôn ngữ JavaScript tăng tính tương tác giữa website với người dùng - Ảnh: Internet Làm thế nào để thêm ngôn ngữ lập trình JavaScript vào trang web?JavaScript được áp dụng cho trang HTML theo cách tương tự như CSS. Trong khi CSS sử dụng các phần tử để áp dụng bảng định kiểu bên ngoài và phần tử |