Đây là phần 4 nằm trong series Series Javscript thần thánh

Trong bài viết trước, mình đã giải thích về khái niệm ES, ECMAScript trong Javascript. Đồng thời cũng đã có một bài viết nói về ES6 nên hôm nay mình sẽ viết thêm 1 bài về ES7 nữa cho đủ bộ. ?

ES7:

ES7 hay còn gọi là ECMAScript 2016, ra đời vào tháng 9, năm 2016, ES7 bổ sung thêm 2 cú pháp mới (cũng không có gì đặc biệt lắm) đó là: Array.prototype.includes() và phép toán lũy thừa (kí hiệu là **).

Array.prototype.includes():

Hàm includes dùng để kiểm tra một phần tử có trong một mảng hay không. Kết quả của hàm includes trả về là true nếu có phần tử trong mảng, còn không có tất nhiên là trả về false.

Trước đây, để kiểm tra một phần tử có trong mảng hay không, ta dùng hàm indexOf(). Kết quả của hàm indexOf trả về là thứ tự của phần tử trong mảng, nếu không có thì trả về -1.

let a = ['not' , 'cuder' , 'is', 'awesome'];

var existed = a.indexOf('bad'); // kết quả sẽ là -1

if(existed >=0) {
  console.log('Found');
} else {
  console.log('Not found');
}

Với việc so sánh kết quả hàm indexOf với -1 thì hơi khó hiểu cho những ai không hiểu ý nghĩa của hàm indexOf. ?

Nếu ta sử dụng hàm includes thì ta có thể đoán được ý nghĩa của hàm một cách dễ dàng:

let a = ['not' , 'cuder' , 'is', 'awesome'];

var existed = a.includes('bad'); // kết quả sẽ là false

if(existed) {
  console.log('Found');
} else {
  console.log('Not found');
}

Phép toán lũy thừa:

Lũy thừa thì chắc ai cũng biết. Ví dụ: 24 = 16.  Trước đây, để dùng phép toán lũy thừa trong Javascript thì ta dùng hàm Math.pow(). Ví dụ:

let x = 2;
let result = Math.pow(x , 4);
console.log(result);

Ok, nếu dùng cú pháp của ES7 thì thế này:

let x = 2;
let result = x ** 4;
console.log(result);

Kết:

ES7 không bổ sung nhiều cú pháp mới cho Javascript. ES7 chỉ bổ sung hàm includes dùng để kiểm tra phần tử trong mảng và phép toán lũy thừa (kí hiệu là **). Chúng ta nên dùng hàm includes để thay cho indexOf và phép toán ** để thay cho hàm Math.pow() trước là để code rõ ràng hơn, sau là để theo kịp trào lưu nhé.?


Nhận thấy các bài viết tiếng Việt chuyên về lập trình blockchain còn ít nên tôi quyết định chuyển hướng sang chuyên viết về chủ đề blockchain dành riêng cho lập trình viên. Hi vọng những bài viết này sẽ giúp ích cho các bạn đang muốn theo đuổi lĩnh vực còn khá mới này.

Nếu bạn thấy bài viết hữu ích, bạn có thể ủng hộ tôi vài tách cà phê thông qua MoMo tại đây

Bạn cũng có thể nhờ tôi tư vấn về giải pháp công nghệ thông tin nói chung và blockchain nói riêng (có tính phí) thông qua đây

Series Navigation<< Series Javascript thần thánh – Phạm vi biến cực dị của JavascriptSeries Javascript thần thánh – Bối rối vì quá nhiều cách xử lí bất đồng bộ trong Javascript? >>