JavaScript là gì Tại sao lại hot đến như vậy

JavaScript là gì? Tại sao lại hot đến như vậy?

Bạn đã bao giờ tự hỏi “JavaScript là gì?” mà tại sao lại hot đến thế, những gì chúng ta có thể đạt được với nó và những công nghệ nào khác hoạt động tốt với JavaScrip.

Vậy JavaScript là gì? Hãy tìm hiểu ngay dưới đây nhé

JavaScript là gì?

JavaScript là gì Tại sao lại hot đến như vậy

Ban đầu JavaScript được tạo ra để “làm cho các trang web trở nên sống động hơn”.

Các chương trình bằng ngôn ngữ này được gọi là script. Chúng có thể được viết ngay trong HTML của trang web và chạy tự động khi tải trang web.

Scripts được cung cấp và thực thi dưới dạng văn bản thuần túy. Chúng không cần sự chuẩn bị hoặc biên dịch đặc biệt để chạy.

Về khía cạnh này, JavaScript rất khác so với một ngôn ngữ khác được gọi là Java.

Vậy bạn đã hiểu mục tiêu gốc của JavaScript là gì chưa? Cùng mình tìm hiểu xem sao ngôn ngữ này lại được gọi là JavaScript.

Tại sao nó được gọi là JavaScript?

Khi JavaScript được tạo ra, ban đầu nó có tên khác: “LiveScript”. Nhưng Java rất phổ biến vào thời điểm đó, vì vậy người ta quyết định rằng việc đặt tên cho một ngôn ngữ mới là “em trai” của Java sẽ có ích.

Nhưng khi nó phát triển, JavaScript trở thành một ngôn ngữ độc lập hoàn toàn với đặc điểm kỹ thuật riêng của nó được gọi là ECMAScript , và bây giờ nó không liên quan gì đến Java.

Ngày nay, JavaScript có thể thực thi không chỉ trong trình duyệt mà còn trên máy chủ hoặc thực sự trên bất kỳ thiết bị nào có chương trình đặc biệt gọi là JavaScript engine.

Trình duyệt có một công cụ nhúng đôi khi được gọi là “JavaScript virtual machine”.

Các công cụ nhúng khác nhau có “tên mã” khác nhau. Ví dụ:

  • V8 – trong Chrome, Opera và Edge.
  • SpiderMonkey – trong Firefox.
  • … Có những tên mã khác như “Chakra” cho IE, “JavaScriptCore”, “Nitro” và “SquirrelFish” cho Safari, v.v.
JavaScript là gì Tại sao lại hot đến như vậy

Các thuật ngữ trên bạn cần nhớ vì chúng được sử dụng trong các bài báo dành cho lập trình viên trên internet.  

Ví dụ: nếu “một tính năng X được hỗ trợ bởi V8”, thì nó có thể hoạt động trong Chrome, Opera và Edge.

Công cụ hoạt động như thế nào?

Công cụ rất phức tạp, nhưng những điều cơ bản đều có điểm chung và dễ dàng nhớ.

  1. Công cụ (được nhúng nếu đó là một trình duyệt) đọc (“phân tích cú pháp”) script.
  2. Sau đó, nó chuyển đổi (“biên dịch”) script thành machine code.
  3. Và sau đó machine code chạy, khá nhanh.

Công cụ áp dụng tối ưu hóa ở mỗi bước của quy trình. Nó thậm chí còn xem tập lệnh đã script khi nó chạy, phân tích dữ liệu chạy qua nó và tối ưu hóa hơn nữa mã máy dựa trên kiến ​​thức đó.

JavaScript trong trình duyệt có thể làm gì?

JavaScript hiện đại là một ngôn ngữ lập trình “an toàn”. Nó không cung cấp quyền truy cập cấp thấp vào bộ nhớ hoặc CPU, vì ban đầu nó được tạo cho các trình duyệt không yêu cầu.

Khả năng của JavaScript phụ thuộc rất nhiều vào môi trường mà nó đang chạy.

Ví dụ: Node.js hỗ trợ các hàm cho phép JavaScript đọc/ghi các tệp tùy ý, thực hiện các yêu cầu mạng, v.v.

JavaScript trong trình duyệt có thể thực hiện mọi thứ liên quan đến thao tác trên trang web, tương tác với người dùng và máy chủ web.

Ví dụ: JavaScript trong trình duyệt có thể:

  • Thêm HTML mới vào trang, thay đổi nội dung hiện có, sửa đổi kiểu.
  • Phản ứng với các thao tác của người dùng, chạy khi nhấp chuột, di chuyển con trỏ, nhấn phím.
  • Gửi yêu cầu qua mạng tới các máy chủ từ xa, tải xuống và tải lên các tệp (cái gọi là công nghệ AJAX và COMET ).
  • Nhận và đặt cookie, đặt câu hỏi cho khách truy cập, hiển thị tin nhắn.
  • Ghi nhớ dữ liệu ở phía máy khách (“bộ nhớ cục bộ”).

JavaScript KHÔNG THỂ làm được gì trong trình duyệt?

Khả năng của JavaScript là gì trong trình duyệt? Hẳn là nó bị giới hạn để bảo vệ sự an toàn của người dùng. Mục đích là để ngăn chặn một trang web xấu truy cập thông tin cá nhân hoặc gây hại cho dữ liệu của người dùng.

Ví dụ về những hạn chế đó bao gồm:

  • JavaScript trên một trang web không được đọc/ghi các tệp tùy ý trên đĩa cứng, sao chép chúng hoặc thực thi các chương trình. Nó không có quyền truy cập trực tiếp vào các chức năng của hệ điều hành. Các trình duyệt hiện đại cho phép nó hoạt động với các tệp, nhưng quyền truy cập bị hạn chế và chỉ được cung cấp nếu người dùng thực hiện một số hành động nhất định, chẳng hạn như “thả” tệp vào cửa sổ trình duyệt hoặc chọn tệp đó qua thẻ <input>.
  • Có nhiều cách để tương tác với máy ảnh/micrô và các thiết bị khác, nhưng chúng yêu cầu sự cho phép rõ ràng từ người dùng. Vì vậy, một trang hỗ trợ JavaScript không thể lén lút kích hoạt camera web, quan sát môi trường xung quanh và gửi thông tin đến NSA .
  • Các tab/window khác nhau thường không biết về nhau. Đôi khi chúng làm như vậy, chẳng hạn như khi một window sử dụng JavaScript để mở window kia. Nhưng ngay cả trong trường hợp này, JavaScript từ một trang có thể không truy cập trang kia nếu chúng đến từ các trang khác nhau (từ một miền, giao thức hoặc cổng khác). Đây được gọi là “Chính sách xuất xứ giống nhau”, để giải quyết vấn đề đó, cả hai trang phải đồng ý trao đổi dữ liệu và phải chứa code JavaScript đặc biệt xử lý nó. 

Ví dụ: một trang http://anysite.com mà người dùng đã mở không thể truy cập vào tab trình duyệt khác bằng URL http://gmail.com, chúng sẽ lấy cắp thông tin từ đó.

  • JavaScript có thể dễ dàng giao tiếp qua mạng với máy chủ nơi trang hiện tại đến từ đó. Nhưng khả năng nhận dữ liệu từ các trang web/miền khác của nó bị tê liệt. Mặc dù có thể, nó yêu cầu thỏa thuận rõ ràng (thể hiện trong tiêu đề HTTP) từ phía từ xa. Đây là một giới hạn an toàn.
JavaScript là gì Tại sao lại hot đến như vậy

Những hạn chế như vậy không tồn tại nếu JavaScript được sử dụng bên ngoài trình duyệt, chẳng hạn như trên máy chủ. Các trình duyệt hiện đại cũng cho phép các plugins/extensions (tiện ích mở rộng) có thể yêu cầu quyền mở rộng.

Điều gì làm cho JavaScript trở nên hot như thế?

Sau khi hiểu JavaScript là gì, bạn đã nhận ra tại sao nó lại hot đến như thế chưa?

Có ít nhất ba điều tuyệt vời về JavaScript:

  • Tích hợp hoàn toàn với HTML/CSS.
  • Những điều đơn giản được thực hiện một cách đơn giản.
  • Được hỗ trợ bởi tất cả các trình duyệt chính và được bật theo mặc định.

JavaScript là công nghệ trình duyệt duy nhất kết hợp ba thứ này.

Đó là điều làm cho JavaScript trở nên độc đáo. Đó là lý do tại sao nó là công cụ phổ biến nhất để tạo giao diện trình duyệt.

Điều đó nói rằng, JavaScript có thể được sử dụng để tạo máy chủ, ứng dụng di động, v.v.

Ngôn ngữ khác “hơn” JavaScript

JavaScript là gì Tại sao lại hot đến như vậy

Khi bạn hiểu “JavaScript là gì?” rồi thì bạn có nghĩ sẽ có nhiều ngôn ngữ khác ngoài JS không?

Vì cú pháp của JavaScript không phù hợp với nhu cầu của mọi người. Mỗi người khác nhau sẽ muốn có các tính năng khác nhau. Đó là điều được mong đợi, bởi vì các dự án đều có yêu cầu khác nhau đối với tất cả mọi người.

Vậy nên, gần đây đã xuất hiện rất nhiều ngôn ngữ mới, được chuyển đổi sang JavaScript trước khi chúng chạy trong trình duyệt.

Các công cụ hiện đại làm cho quá trình chuyển đổi diễn ra rất nhanh chóng và minh bạch, thực sự cho phép các lập trình viên viết code bằng một ngôn ngữ khác và tự động chuyển đổi nó một cách “bí mật”.

Ví dụ về các ngôn ngữ như:

  • CoffeeScript là “cú pháp đặc biệt” cho JavaScript. Nó giới thiệu cú pháp ngắn hơn, cho phép bạn viết mã rõ ràng và chính xác hơn. Thông thường, các lập trình viên Ruby thích nó.
  • TypeScript tập trung vào việc bổ sung “cách đánh dữ liệu nghiêm ngặt” để đơn giản hóa việc lập trình và hỗ trợ các hệ thống phức tạp. Nó được lập trình bởi Microsoft.
  • Flow cũng bổ sung tính năng nhập dữ liệu, nhưng theo một cách khác. Được lập trình bởi Facebook.
  • Dart là một ngôn ngữ độc lập có công cụ riêng chạy trong môi trường không có trình duyệt (như ứng dụng dành cho thiết bị di động), nhưng cũng có thể được chuyển sang JavaScript. Được lập trình bởi Google.
  • Brython là một trình chuyển tiếp Python sang JavaScript cho phép viết các ứng dụng bằng Python thuần túy mà không cần JavaScript.
  • Kotlin là một ngôn ngữ lập trình hiện đại, ngắn gọn và an toàn, có thể nhắm mục tiêu trình duyệt hoặc Node.

Tất nhiên, ngay cả khi bạn sử dụng một trong những ngôn ngữ chuyển đổi này, đều cũng cần nên biết JavaScript để thực sự hiểu những gì bạn đang làm.

Kết luận

Vậy mình đã giúp bạn trả lời được câu hỏi “JavaScript là gì?”, ban đầu JavaScript được tạo ra như một ngôn ngữ chỉ dành cho trình duyệt, nhưng hiện nay nó cũng được sử dụng trong nhiều môi trường khác nhau.

Ngày nay, JavaScript có một vị trí duy nhất là ngôn ngữ trình duyệt được chấp nhận rộng rãi nhất, được tích hợp hoàn toàn với HTML/CSS.

Có nhiều ngôn ngữ được “chuyển đổi” sang JavaScript và cung cấp một số tính năng nhất định. Bạn nên xem qua chúng, ít nhất là trong thời gian ngắn, sau khi thành thạo JavaScript.

Cảm ơn bạn đã theo dõi bài viết!

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.

TỔNG HỢP TÀI LIỆU HỌC LẬP TRÌNH CƠ BẢN CHO NGƯỜI MỚI BẮT ĐẦU

KHOÁ HỌC BOOTCAMP JAVA/JAVASCRIPT/PHP TRỞ THÀNH LẬP TRÌNH VIÊN TRONG 5-6 THÁNG

Bình luận