Nhìn qua một vài điểm về Javascript ES2019

3445
Javascript ES2019

Như tiêu đề của bài viết, hôm nay mình cùng với các bạn cùng nhìn qua JavaScript ES2019 để xem có những tính năng nào tiếp theo của ECMAScript.

ECMAScript là tiêu chuẩn dựa trên JavaScript và nó thường được viết tắt là ES.

Có bạn nào biết phiên bản hiện tại của ECMAScript là bao nhiêu không?

Theo mình được biết và tham khảo thì phiên bản ECMAScript hiện tại là ES2018. Để mình nói rõ hơn một chút về cụm từ này trước khi chúng ta tham khảo một số tính năng của ES2019.

  4 lỗi check Conditionals trong JavaScript mà new Dev thường mắc và cách khắc phục
  7 khái niệm Javascript cơ bản không thể bỏ qua

ESNext là gì?

ESNext là tên luôn chỉ ra phiên bản tiếp theo của JavaScript. Phiên bản ECMAScript hiện tại là ES2018 vào tháng 6/2018. Vì vậy chúng ta có thể mong đợi ECMAScript 2019 sẽ được phát hành vào mùa hè 2019.

Cùng vào vấn đề chính hôm nay nhé! 4 tính năng mà chúng ta sẽ xem qua là:

Array.prototype.{flat,flatMap}

flat() là một phương thức thể hiện mảng mới có thể tạo ra một mảng một chiều từ một mảng nhiều chiều.

Ví dụ:

Thêm ví dụ nữa. Để biết flat có thể add thêm số cấp bậc để có thể làm phẳng một mảng. Infinity có cấp độ không giới hạn.

Nếu bạn nào tinh ý sẽ nhớ đến map() trong javascript. Chúng ta sử dụng nó để thực thi một function trên mỗi phần tử của mảng thì flatMap() nó có thể là sự kết hợp giữa map() và flat().

Ví dụ:

Xem thêm Prototype là gì.

Optional catch binding

Cái này thì mình nói sơ qua thôi chứ cũng chả hay ho lắm. Lúc trước chúng ta hay làm thế này:

Giờ thậm chí chẳng cần khai báo error nữa.

Object.fromEntries()

entries() thì hầu như các bạn cũng đã quen thuộc rất nhiều và nó xuất hiện hình như là ES2017 thì phải. Đó là phương thức trả về một mảng các cặp thuộc tính [khóa, giá trị] có thể đếm được của chính một đối tượng đã cho.

ví dụ:

Trong JavaScript ES2019 đã trình làng một object mới đó là Object.fromEntries(). Chức năng này giúp dễ dàng chuyển đổi JavaScript Map thành JavaScript object. Ví dụ:

Thêm ví dụ nữa cho có sự liên quan giữa entries(), fromEntries().

String.prototype.{trimStart, trimEnd}

Định nghĩa nhanh gọn, không cần nói nhiều. trimStart() xóa khoảng trắng từ đầu chuỗi. trimEnd() xóa khoảng trắng khỏi cuối chuỗi.

Nhưng khoan! Có bạn nào để ý là nó giống giống với trimRight() với trimLeft() không nhỉ? Mình thì có thắc mắc đó đấy.

Ví dụ:

Kết luận

Qua những tính năng của JavaScript ES2019 mà chúng ta mới lướt qua thì mình có cảm nhận nó không thú vị như ES2015 hoặc ES2017 (async / await), nhưng các tính năng mới này giúp language’s API một cách tròn trặn hơn. Array#flat() và Array#flatMap() mở rộng hỗ trợ hiện có của JavaScript để thao tác mảng có thể xâu chuỗi.

Object.fromEntries () là phần bổ sung gọn gàng cho Object.entries (). Nhìn chung, JavaScript ES2019 là một bước nhỏ nhưng hữu ích theo đúng hướng cho JavaScript. Cảm ơn các bạn đã đọc.

Có thể bạn quan tâm:

Xem thêm việc làm JavaScript Developer trên TopDev

TopDev via anonystick.com

  Method Chaining trong JavaScript là gì
  20 câu hỏi phỏng vấn Javascript dành cho Intern/Fresher