Giới thiệu tính năng mới ECMAScript 2016 thêm vào trong Javascript

Từ khi ECMAScript 2015 (cũng được biết với tên gọi ES6) được phát hành. Nó đã giới thiệu nhiều tính năng lớn như arrow function (dùng ký hiệu =>), set, map, class và destructuring… Nhóm phát triển có 39 điều chỉnh đặc điểm kỹ thuật ECMA. Họ quyết định phát hành các phiên bản ECMAScript mới hàng năm bắt đầu từ năm 2015. Bản phát hành hàng năm nghĩa là sẽ không có những thay đổi lớn như ES6

ECMAScript 2016 chỉ giới thiệu 2 tính năng mới:

  • Array.prototype.includes()
  • Toán tử luỹ thừa

Array.prototype.includes()

Array.prototype.includes() kiểm tra giá trị value được truyền vào như một tham số argument có tồn tại trong mảng không. Nếu chứa giá trị value thì trả về true, nếu không thì sẽ trả về false

Trước đây, chúng ta cần sử dụng Array.prototype.indexOf() để kiểm tra mảng đã cho có chứa phần tử hay không.

let numbers = [1, 2, 3, 4];
if(numbers.indexOf(2) !== -1) {
  console.log('Array contains value');
}

với ECMAScript 2016 chúng ta có thể viết như sau

if(numbers.includes(2)) {
  console.log('Array contains value');
}

Array.prototype.includes() kiểm soát việc bị NaN tốt hơn Array.prototype.indexOf(). Nếu mảng chứa NaN thì indexOf() sẽ không trả về index chính xác khi tìm kiếm cho NaN

Array.prototype.includes() trả về giá trị chính xác khi tìm kiếm cho NaN

NaN là thuộc tính của Object global trong Javascript và tượng trưng cho cho giá trị mà không phải là số (Not-a-Number). Có những điều không rõ ràng đã được biết khi chúng ta so sánh giá trị NaN với các giá trị khác. Những cái này đã được giải quyết trong Array.prototype.includes(), nhưng không áp dụng trong Array.prototype.indexOf().

let numbers = [1, 2, 3, 4, NaN];
console.log(numbers.indexOf(NaN)); //Prints -1
console.log(numbers.includes(NaN)); //Prints true

Toán tử luỹ thừa

Javascript đã hỗ trợ rất nhiều toán tử toán học như là +, -, *

EMACScript 2016 giới thiệu một toán tử mới gọi là toán tử luỹ thừa, **

Nó có cùng mục đích như là Math.pow(). Nó sẽ trả về một kết quả luỹ thừa ví dụ có 2 tham số vào là a và b thì kết quả sẽ là tích số của phép nhân có b thừa số a nhân với nhau.

let base = 3;
let exponent = 4;
let result = base**exponent;
console.log(result); //81

 

 

 

You May Also Like

About the Author: Nguyen Dinh Thuc

Leave a Reply

Your email address will not be published.