JavaScript

Những điểm mới trong ES6 (ECMAScript 2015)

Những điểm mới trong ES6 (ECMAScript 2015)
Được viết bởi Minh Hoàng

Series lập trình JavaScript, ngôn ngữ lập trình linh động, thực thi phía client.

Những điểm mới trong ES6 (ECMAScript 2015)

ECMAScript 6 còn được gọi là ES6 hay ECMAScript 2015.

– Một số người thích gọi nó là JavaScript 6.

– Trong bài viết này sẽ giới thiệu một số tính năng quan trọng nhất của ES6.

5. ES6 cho phép các tham số hàm có giá trị mặc định

5. ES6 cho phép các tham số hàm có giá trị mặc định

Ví dụ:
[code language=”javascript”]function myFunction(x, y = 10) {
// y là 10
// nếu truyền thiếu tham số của y
// hoặc truyền vào y là undefined
return x + y;
}

myFunction(5); // return 15[/code] Try it »

6. Các Number Properties mới

6. Các Number Properties mới

ES6 đã thêm các thuộc tính sau vào đối tượng Number:

  • EPSILON
  • MIN_SAFE_INTEGER
  • MAX_SAFE_INTEGER
Ví dụ:
[code language=”javascript”]var x = Number.EPSILON; // 2.220446049250313e-16[/code] Try it »

Ví dụ:
[code language=”javascript”]var x = Number.MIN_SAFE_INTEGER; // -9007199254740991[/code] Try it »

Ví dụ:
[code language=”javascript”]var x = Number.MAX_SAFE_INTEGER; // 9007199254740991[/code] Try it »
7. Các Number Methods mới

7. Các Number Methods mới

ES6 đã thêm 2 phương thức mới vào đối tượng Number:

  • Number.isInteger()
  • Number.isSafeInteger()
7.1. Phương thức Number.isInteger()

Phương thức Number.isInteger() trả về true nếu đối số (argument) là một số nguyên (integer). Ngược lại trả về false:

Ví dụ:
[code language=”javascript”]Number.isInteger(10); // return true
Number.isInteger(10.5); // return false[/code] Try it »

7.2. Phương thức Number.isSafeInteger()

Phương thức Number.isSafeInteger() trả về true nếu argument là một số nguyên an toàn (safe integer). Ngược lại trả về false:

Ví dụ:
[code language=”javascript”]Number.isSafeInteger(10); // return true
Number.isSafeInteger(12345678901234567890); // return false[/code] Try it »

– Số nguyên an toàn là tất cả các số nguyên từ -(253 - 1) đến +(253 - 1)
– Số nguyên an toàn: 9007199254740991.
– Số nguyên không an toàn: 9007199254740992.

8. Các Global Methods mới

8. Các Global Methods mới

ES6 cũng đã thêm 2 phương thức global number mới:

  • isFinite()
  • isNaN()
8.1. Phương thức isFinite()

Phương thức global isFinite() trả về trả về false nếu argument là Infinity hoặc NaN. Ngược lại trả về true:

Ví dụ:
[code language=”javascript”]isFinite(10/0); // return false
isFinite(10/1); // return true[/code] Try it »

8.2. Phương thức isNaN()

Phương thức global isNaN() trả về true nếu argument là NaN. Ngược lại trả về false:

Ví dụ:
[code language=”javascript”]isNaN("Hello"); // return true
isNaN("10"); // return false[/code] Try it »

9. Arrow Functions

9. Arrow Functions

– Các Arrow Functions cung cấp cho bạn một cú pháp ngắn (short syntax) để viết các biểu thức hàm (function expressions).

– Bạn không cần từ khóa function, từ khóa return và cặp dấu ngoặc nhọn curly brackets {}.

Ví dụ 1:
[code language=”javascript”]// ES5
var x = function(x, y) {
return x * y;
}

// ES6
const x = (x, y) => x * y;[/code] Try it »

– Các Arrow Functions thì không có this của chúng, chúng không thích hợp cho việc định nghĩa các object methods.

– Các Arrow Functions phải được định nghĩa (define) trước khi chúng được sử dụng. Bởi vì biểu thức hàm (function expression) là một giá trị không đổi, nên khai báo bằng từ khóa const là an toàn hơn so với sử dụng var.

– Bạn chỉ có thể bỏ qua từ khóa return và cặp dấu ngoặc nhọn curly brackets {} nếu hàm (function) là một câu lệnh đơn như ví dụ 1. Hoặc giữ lại return{} như ví dụ 2 bên dưới cũng là một thói quen tốt:

Ví dụ 2:
[code language=”javascript”]const x = (x, y) => { return x * y };[/code] Try it »
Cảm ơn bạn đã theo dõi. Đừng ngần ngại hãy cùng thảo luận với chúng tôi!

Giới thiệu

Minh Hoàng

Xin chào, tôi là Hoàng Ngọc Minh, hiện đang làm BrSE, tại công ty Toyota, Nhật Bản. Những gì tôi viết trên blog này là những trải nghiệm thực tế tôi đã đúc rút ra được trong cuộc sống, quá trình học tập và làm việc. Các bài viết được biên tập một cách chi tiết, linh hoạt để giúp bạn đọc có thể tiếp cận một cách dễ dàng nhất. Hi vọng nó sẽ có ích hoặc mang lại một góc nhìn khác cho bạn[...]

Translate »