JavaScript

JavaScript® (viết tắt là JS) là một ngôn ngữ lập trình hướng đối tượng thông dịch và gọn nhẹ với đặc tính hàm đối tượng (first-class functions). JavaScript được biết tới như một ngôn ngữ kịch bản phía máy khách trong các trong Web - tức là thực thi trên trình duyệt, nhưng nó cũng được sử dụng rất nhiều ở các môi trường phi trình duyệt như  node.js hay Apache CouchDB. Ngôn ngữ này có đặc điểm là một ngôn ngữ kịch bản dựa trên nguyên mẫu (prototype-based), đa hình (multi-paradigm) nên khá linh động dynamic và hỗ trược được cả các phong cách lập trình hướng đối tượng, lập trình mệnh lệnh và lập trình hàm. Bạn có thể đọc thêm về JavaScript ở đây.

ECMAScript là tiêu chuẩn chung cho JavaScript và tính tới thời điểm năm 2012 thì tất cả các trình duyện hiện đại đều đã hỗ trợ đầy đủ các tiêu chuẩn ECMAScript 5.1, còn một số trình duyệt cũ thì cũng hỗ trợ ít nhất ở phiên bản ECMAScript 3. Vào ngày 17 tháng 06 năm 2015, phiên bản chính thức thứ 6 của ECMAScript đã được phát hành với tên gọi chính thức là ECMAScript 2015, nhưng nó cũng hay được gọi với tên là ECMAScript 6 hoặc ES6.

Phần này dành riêng cho việc hướn dẫn về ngôn ngữ JavaScript chứ không mô tả cụ thể cho từng môi trường như Web hay cho các môi trường máy chủ. Về các API dành riêng cho Web, bạn có thể xem ở phần Web APIs và DOM.

Lưu ý rằng JavaScript khác với ngôn ngữ lập trình Java nên đừng nhầm lẫn với Java. Java là một nhãn hiệu được đăng kí bởi Oracle tại Mĩ và các quốc gia khác nữa.

Hướng dẫn

Học cách lập trình bằng JavaScript.

Mở đầu

Dẫn nhập về JavaScript
Bạn chưa biết về JavaScript? Tốt, phần này sẽ dẫn bạn đi một vòng qua ngôn ngữ này.
Tổng quan về các công nghệ JavaScript
Giới thiệu về hiện trạng của JavaScript ở các trình duyệt Web.
Nhập môn hướng đối tượng với JavaScript
Giới thiệu các khái niệm về lập trình hướng đối tượng trong JavaScript.

Căn bản

Giới thiệu lại về JavaScript
Một bản tổng quan dành cho người đã biết về JavaScript.
Cấu trú dữ liệu trong JavaScript
Tổng quan về các cấu trúc dữ liệu trong JavaScript.
Các phép so sánh bằng và cách sử dụng
JavaScript cung cấp 3 kiểu so sánh giá trị khác nhau là: so sánh bằng chặt chẽ với === và so sánh bằng lỏng lẻo với ==.

Nâng cao

Kế thừa và chuỗi nguyên mẫu
Giải thích về sự hiểu lầm và đánh giá không chuẩn về kế thừa dựa trên nguyên mẫu (prototype-based inheritance)
Dạng chặt (strict mode)
Một biến thể bị giới hạn của JavaScript.
Các kiểu dữ liệu mảng của JavaScript
Các mảng của JavaScript cung cấp cơ chế truy cậ dữ liệu nhị phân gốc (raw binary data).
Quản lý bộ nhớ
Về vòng đời bộ nhớ và bộ dọn rác trong JavaScript.

Tài liệu

Xem bộ tài liệu tham chiếu JS đầy đủ.

Các đối tượng tiêu chuẩn
Hướng dẫn về một số đối tượng chuẩn được xây dựng sẵn như Array, Boolean, Date, Error, Function, JSON, Math, Number, Object, RegExp, StringMap, Set, WeakMap, WeakSet...
Các biểu thức và toán tử
Học thêm về các xử lý của các toán tử trong JavaScript như instanceof, typeof, new, this...
Các câu lệnh và khai báo
Học về các câu lệnh và cách khai báo cũng như các từ khóa trong JavaScirpt như do-while, for-in, for-of, try-catch, let, var, const, if-else, switch...
Hàm
Học cách làm việc với các hàm trong JS để phát triển các ứng dụng của bạn.

Công cụ & tài nguyên

Các công cụ hữu dụng để viết mã và  gỡ lỗi với JavaScript.

Các công cụ phát triển của Firefox
Scratchpad, Web Console, JavaScript Profiler, Debugger...
Firebug
Chỉnh sửa, gỡ lỗi, và theo dõi các mã CSS, HTML, và JavaScript trực tiếp với bất kì trang web nào.
JavaScript Shells
A JavaScript shell cho phép bạn kiểm tra nhanh chóng các đoạn mã JavaScript.
TogetherJS

Hợp tác để giải quyết các vấn đề dễ hơn.

Stack Overflow
Các câu hỏi được đánh thẻ "JavaScript" trên hệ thống giải đáp Stack Overflow.
Các phiên bản JavaScript và các chú thích phát hành
Xem thêm về lịch sử của JavaScript cùng với các chú thích của nó.

Join the JavaScript community

Choose your preferred method for joining the discussion:

Document Tags and Contributors

 Contributors to this page: deschutron, pierreneter, tranphu0312, dominhhai
 Last updated by: deschutron,