JavaScript: ES6: Cú pháp

Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực

Cú pháp xác định bộ quy tắc để viết chương trình. Mỗi đặc tả ngôn ngữ sẽ định nghĩa một cú pháp riêng.

Một chương trình JavaScript có thể bao gồm:

  • Biến - Đại diện cho một khối bộ nhớ được đặt tên có thể lưu trữ các giá trị cho chương trình.

  • Literal - Đại diện cho các giá trị không đổi/cố định.

  • Toán tử - Ký hiệu xác định cách xử lý toán hạng.

  • Từ khóa - Những từ có ý nghĩa đặc biệt trong ngữ cảnh của ngôn ngữ.

Bảng sau liệt kê một số từ khóa trong JavaScript. Một số từ khóa phổ biến được liệt kê trong bảng sau:

break as any switch
case if throw else
var number string get
module type instanceof Typeof
finally for enum export
while void this new
null super catch let
static return true false
  • Các mô-đun - Đại diện cho các khối mã có thể được sử dụng lại trên các chương trình/tập lệnh khác nhau.

  • Comment - Được sử dụng để cải thiện khả năng đọc mã, tạo chú thích, rào code. Chúng bị bỏ qua bởi công cụ JavaScript.

  • Đặt tên (định danh) - Đây là các tên được đặt cho các thành phần trong chương trình như biến, hàm, v.v. Các quy tắc cho mã định danh gồm:

    • Tên có thể bao gồm ký tự và chữ số. Tuy nhiên, tên không thể bắt đầu bằng một chữ số.

    • Tên không thể bao gồm các ký hiệu đặc biệt ngoại trừ dấu gạch dưới (_) hoặc ký hiệu đô la ($).

    • Tên không thể là từ khóa. Chúng phải là duy nhất.

    • Tên không được chứa dấu cách.

Bảng sau đây minh họa một số tên hợp lệ và không hợp lệ.

Ví dụ đặt tên hợp lệ Ví dụ đặt tên không hợp lệ

firstName

first_name

num1

$result

Var#

first name

first-name

1number

Khoảng trắng và ngắt dòng

ES6 bỏ qua khoảng trắng, tab và dòng mới xuất hiện trong các chương trình. Bạn có thể sử dụng các khoảng trắng, tab và dòng mới một cách tự do trong chương trình của mình và bạn có thể tự do định dạng và thụt lề các chương trình của mình một cách gọn gàng và nhất quán giúp mã dễ đọc và dễ hiểu.

JavaScript phân biệt chữ hoa chữ thường

JavaScript phân biệt chữ hoa chữ thường. Điều này có nghĩa là JavaScript phân biệt giữa các ký tự chữ hoa và chữ thường.

Dấu chấm phẩy là tùy chọn

Mỗi dòng được coi là một lệnh. Nếu mỗi lệnh đặt trên một dòng thì dấu chấm phẩy là không bắt buộc.

Ví dụ

console.log("V1Study") 
console.log("Hello ES6")

Một dòng có thể chứa nhiều câu lệnh. Tuy nhiên, những câu lệnh này phải được phân tách bằng dấu chấm phẩy.

Comment

Comment là một cách để cải thiện khả năng đọc của một chương trình. Comment có thể được sử dụng để đưa vào thông tin bổ sung về một chương trình như tác giả của code, gợi ý về hàm/cấu trúc, v.v. Comment bị bỏ qua bởi trình biên dịch.

JavaScript hỗ trợ các loại comment sau:

  • Comment một dòng (//) - Bất kỳ văn bản nào nằm sau // được coi là một nhận xét.

  • Comment nhiều dòng (/* */) - Những comment này có thể trải dài trên nhiều dòng.

Ví dụ

//đây là comment 1 dòng
/* đây là comment
nhiều dòng
*/

Viết code JavaScript

Ta hãy bắt đầu với ví dụ truyền thống "Hello World".

Mở Sublime Text ra và soạn đoạn code sau:

var message = "Hello World" 
console.log(message)

Phân tích code:

  • Dòng 1 khai báo một biến. Các biến là một cơ chế để lưu trữ các giá trị trong một chương trình.

  • Dòng 2 in giá trị của biến. Ở đây, console sẽ tham chiếu đến terminal. Hàm log() được sử dụng để hiển thị văn bản trên màn hình.

Thực thi code

Chúng ta sẽ sử dụng Node.js để thực thi code.

  • Bước 1 - Lưu tệp dưới tên Test.js

  • Bước 2 - Nhấp chuột phải vào vùng bất kỳ của file rồi chọn Open in Browser

Node.js và JS/ES6

Các tính năng của ECMAScript 2015 (ES6) được phân thành ba nhóm:

  • For Shipping - Đây là những tính năng mà V8 coi là ổn định.

  • Staged Features - Đây là những tính năng gần như đã hoàn thành nhưng không được nhóm V8 coi là ổn định.

  • In Progress - Những tính năng này chỉ nên được sử dụng cho mục đích thử nghiệm.

Shipping được hỗ trợ đầy đủ và được bật theo mặc định theo nút. Staged yêu cầu một runtime -- cờ harmony để thực thi.

Ta có thể tham khảo danh sách các cờ CLI đặc tả thành phần cho Node.js tại https://nodejs.org/api/cli.html

Chế độ Strict

Phiên bản thứ năm của đặc tả ECMAScript đã giới thiệu Chế độ Strict. Chế độ này áp đặt một lớp ràng buộc đối với JavaScript. Nó thực hiện một số thay đổi đối với ngữ nghĩa JavaScript thông thường.

Code có thể được chuyển sang hoạt động ở Chế độ Strict bằng cách như sau:

// cú pháp chế độ strict
"use strict";
 v = "Xin chào! Đây là chế độ strict!";  // Lỗi: chưa khai báo biến v

Trong đoạn mã trên, toàn bộ mã chạy dưới dạng một biến thể bị ràng buộc của JavaScript.

JavaScript cũng cho phép hạn chế, Chế độ strict trong phạm vi của một khối như của một hàm. Điều này được minh họa như sau:

v = 15 
function f1() { 
   "use strict"; 
   var v = "Xin chào! Chế độ strict chỉ áp dụng trong f1()";
}

Trong đoạn mã trên, bất kỳ lệnh nào ngoài hàm sẽ chạy ở chế độ không strict. Tất cả các câu lệnh trong hàm sẽ được thực thi trong Chế độ strict.

ES6 và Hoistring

Công cụ JavaScript theo mặc định sẽ di chuyển các khai báo lên đầu. Tính năng này được gọi là hoisting. Tính năng này áp dụng cho các biến và hàm. Hoisting cho phép JavaScript sử dụng một thành phần trước khi nó được khai báo. Tuy nhiên, khái niệm hoisting không áp dụng cho các tập lệnh được chạy trong Chế độ strict.

Hoisting biến và hoisting hàm sẽ được giải thích trong các bài viết tiếp theo.

» Tiếp: ES6: Biến
« Trước: ES6: Cài đặt
Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực
Copied !!!