JavaScript — Tất cả những gì bạn biết về JS

Nov 30 2022
Có một số khái niệm cốt lõi trong JavaScript (còn được gọi là JS) rất cần thiết để tìm hiểu. Trong blog này, tôi đã cố gắng trình bày ngắn gọn nhưng đi vào vấn đề chính về các khái niệm quan trọng đó của JS.

Có một số khái niệm cốt lõi trong JavaScript (còn được gọi là JS) rất cần thiết để tìm hiểu. Trong blog này, tôi đã cố gắng trình bày ngắn gọn nhưng đi vào vấn đề chính về các khái niệm quan trọng đó của JS. Chắc chắn rằng sau khi bạn học những chủ đề đó, JavaScript sẽ trở nên ít xa lạ hơn đối với bạn. Vì vậy, không có bất kỳ rắc rối nào nữa! Bắt đầu nào.

Tính trừu tượng cao
Trong lập trình, tính trừu tượng cao có nghĩa là các phần tương đối phức tạp được ẩn đi và các phần đơn giản hơn được hiển thị. Cú pháp của các ngôn ngữ trừu tượng cao dễ so với các ngôn ngữ cấp thấp như C và Java, điều này giúp các lập trình viên làm việc với ngôn ngữ trừu tượng cao như JavaScript, Python, Go, v.v. dễ dàng hơn.

Garbage Collector
Không giống như các ngôn ngữ cấp thấp như C, chúng ta không cần duy trì bộ nhớ theo cách thủ công trong JavaScript. Thay vào đó, JavaScript sử dụng quản lý bộ nhớ tự động được gọi là Bộ sưu tập rác. Sử dụng thuật toán Mark-and-Sweep, công cụ JavaScript sẽ tự động thu thập các phân bổ bộ nhớ không sử dụng và sau đó loại bỏ chúng.

Biên dịch JIT
Với sự trợ giúp của biên dịch JIT (vừa đúng lúc), chương trình được biên dịch trong thời gian thực thi thành mã gốc để cải thiện hiệu suất. Các trình duyệt hiện đại hỗ trợ biên dịch JIT để biên dịch mã JavaScript giúp thời gian thực thi nhanh hơn.

Đa mô hình
Một ngôn ngữ đa mô hình cho phép các lập trình viên thiết kế một chương trình theo nhiều cách tiếp cận. JavaScript hỗ trợ Lập trình hướng đối tượng, Lập trình thủ tục, Lập trình chức năng, v.v.

Dựa trên nguyên mẫu
Rõ ràng, JavaScript là ngôn ngữ dựa trên nguyên mẫu, nghĩa là các thuộc tính và phương thức của một đối tượng có thể được chia sẻ trong các đối tượng tổng quát có thể được nhân bản và mở rộng. Nói một cách đơn giản, bạn có thể sao chép các thuộc tính và phương thức của một đối tượng và cũng có thể thêm các thuộc tính và phương thức bổ sung vào đối tượng mới được sao chép đó.

Nhập động
Đơn giản, trong JavaScript, loại biến được kiểm tra trong thời gian chạy. Vì thế, chúng ta thậm chí không cần chỉ định kiểu dữ liệu của một biến. Hơn nữa, nó được gọi là ngôn ngữ kiểu lỏng lẻo vì các kiểu dữ liệu cũng có thể được thay đổi tự động trong thời gian thực hiện được gọi là cưỡng chế kiểu. Tuy nhiên, TypeScript, siêu bộ JavaScript, là ngôn ngữ được nhập tĩnh.

Single-Threaded
JS có một ngăn xếp cuộc gọi và một đống bộ nhớ, điều đó có nghĩa là chỉ có một luồng (quy trình) để các lệnh được thực thi. Nói một cách đơn giản, chỉ có một câu lệnh được thực thi tại một thời điểm trong JavaScript.

Không đồng bộ
Mặc dù là ngôn ngữ đơn luồng, JavaScript hoạt động không đồng bộ với sự trợ giúp của hàng đợi gọi lại và vòng lặp sự kiện. Các câu lệnh không đồng bộ được lưu trữ trong hàng đợi gọi lại và được gọi bởi vòng lặp sự kiện và sau đó được thực thi bất cứ khi nào các hoạt động đồng bộ được thực hiện.

Không chặn
Không chặn đề cập đến khái niệm không chặn việc thực thi cho hoạt động tiếp theo. JavaScript không đợi để hoàn thành các thao tác I/O mở rộng và các yêu cầu HTTPS. Thay vì chờ đợi, nó lưu trữ câu lệnh không đồng bộ trong hàng đợi gọi lại và thực hiện phần còn lại của hoạt động đồng bộ. Khái niệm không chặn này cũng liên quan đến hành vi không đồng bộ của JavaScript mà chúng ta đã thảo luận.

Các hàm là công dân hạng nhất
Các hàm được gọi là công dân hạng nhất trong JavaScript. Bởi vì, trong JavaScript, các hàm có thể được khai báo dưới dạng biến, có thể được truyền dưới dạng đối số trong một hàm khác và có thể được trả về từ một hàm. Ngoài ra, các hàm có thể được đặt làm phương thức của một đối tượng.

Lưu ý: Trong blog này, tôi chỉ cố gắng đưa ra cái nhìn tổng quan về các tính năng và đặc điểm quan trọng nhất của JavaScript. Bây giờ nhiệm vụ của bạn là tìm hiểu thêm về các chủ đề nêu trên.