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 (trict 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ư
,ArrayBoolean,Date,Error,Function,JSON,Math,Number,Object,RegExp,String,Map,Set,,WeakMapWeakSet... - 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
- IRC: #js (learn more)
- ES discuss: esdiscuss.org
- SpiderMonkey: Project page
- Twitter: @FirefoxNightly

