- vừa được xem lúc

Sử dụng Destructuring trong ES6

0 0 20

Người đăng: Gấu con

Theo Viblo Asia

Hi mọi người
ES6 cung cấp một tính năng mới gọi là destructuring assignment, nó có nhiệm vụ tái cấu trúc lại các thuộc tính của một object hoặc một mảng.
Các bạn hãy xem các ví dụ bên dưới để hiểu hơn nhé:

Sử dụng destructuring với array

Giả sử chúng ta có hàm như bên dưới

function getScores() { return [70, 80, 90];
}

Tiếp theo gọi hàm getScores() và gán giá trị trả về của hàm vào một biến:

let scores = getScores();

Cuối cùng lấy giá trị điểm của mỗi thành phần trong mảng bằng code bên dưới.

let x = scores[0], y = scores[1], z = scores[2];

Output:

70 80 90

Như các bạn thấy trước đây khi chưa có ES6 chúng ta thường sẽ sử dụng đoạn code trên để truy cập vào từng phần tử của mảng.
Tuy nhiên, từ khi có ES6 bạn có thể sử dụng destructuring assignment để lấy giá trị của từng phần tử trong mảng như code bên dưới.

let [x, y, z] = getScores(); console.log(x); // 70
console.log(y); // 80
console.log(z); // 90

Biến x, y, z sẽ lấy các giá trị tương ứng thành phần đầu tiền, thứ hai, thứ ba của mảng trả về.
Nếu hàm getScores () trả về một mảng gồm hai phần tử, thì biến thứ ba sẽ không được xác định, ví dụ:

function getScores() { return [70, 80];
} let [x, y, z] = getScores(); console.log(x); // 70
console.log(y); // 80
console.log(z); // undefined

Trường hợp trên biến z là undefined thì bạn có thể gán giá trị mặc định cho biến z như code bên dưới.

let [x, y, z = 100] = getScores(); console.log(x); // 70
console.log(y); // 80
console.log(z); // 100

Trong trường hợp hàm getScores () trả về một mảng có nhiều hơn ba phần tử, các phần tử còn lại sẽ bị loại bỏ. Ví dụ:

function getScores() { return [70, 80, 90, 100];
} let [x, y, z] = getScores(); console.log(x); // 70
console.log(y); // 80
console.log(z); // 90

Sử dụng destructuring với object

ví dụ:

let person = { firstName: 'John', lastName: 'Doe'
};
let { firstName, lastName } = person; console.log(firstName + '-' + lastName);// John-Doe

Hoặc:

let person = { firstName: 'John', lastName: 'Doe'
};
let { firstName: fname, lastName: lname } = person; console.log(fname + '-' + fname);

Trong ví dụ trên, các thuộc tính firstName và lastName được gán cho các biến fName và lName tương ứng.
Định danh trước dấu hai chấm ( : ) là thuộc tính của đối tượng và định danh sau dấu hai chấm là biến.

Sử dụng destructuring và Rest parammeter syntax

Chúng ta có thể lấy tất cả các phần tử còn lại của mảng và đặt chúng vào một mảng mới bằng cách sử dụng dấu 3 chấm (...) trong rest syntax.

let [x, y ,...args] = getScores();
console.log(x); // 70
console.log(y); // 80
console.log(args); // [90, 100]

Biến x, y sẽ nhận giá trị thứ nhất và thứ hai của mảng, còn biến args sẽ nhận tất cả các phần tử còn lại của mảng.

Bình luận

Bài viết tương tự

- vừa được xem lúc

Giới thiệu Typescript - Sự khác nhau giữa Typescript và Javascript

Typescript là gì. TypeScript là một ngôn ngữ giúp cung cấp quy mô lớn hơn so với JavaScript.

0 0 499

- vừa được xem lúc

Type annotation vs Type Inference - Typescript

Trong bài viết này, chúng ta sẽ tìm hiểu kỹ về TypeScript bằng cách tìm hiểu sự khác biệt giữa kiểu chú thích và kiểu suy luận. Tôi sẽ cho rằng bạn có một số kinh nghiệm về JavaScript và biết về các kiểu cơ bản, như chuỗi, số và boolean.

0 0 32

- vừa được xem lúc

Type Annotation và Type Inference trong TypeScript là gì?

Khi làm việc với javascript chắc hẳn các bạn đã quá quen với việc dùng biến mà không cần phải quan tâm đến kiểu dữ liệu của nó là gì phải không? Đúng là mới đầu tiếp cận với Typescript mình cũng cảm thấy nó khá là phiền vì cần phải khai báo đủ type để nó chặt chẽ hơn. Lúc đó mình còn nghĩ: " JavaScr

0 0 25

- vừa được xem lúc

Tìm hiểu TypeScript và kiến thức cơ bản

TypeScript là gì. TypeScript sử dụng tất cả các tính năng của của ECMAScript 2015 (ES6) như classes, modules.

0 0 35

- vừa được xem lúc

TypeScript - P1: Vì sao TypeScript được yêu thích đến vậy?

Trải nghiệm thực tế. Trước khi là một Web Developer, tôi là một Mobile Developer và Java là thứ mà tôi từng theo đuổi.

0 1 58

- vừa được xem lúc

4 Tính năng rất hay từ TypeScript

Xin chào các bạn hôm nay mình xin chia sẽ những tính năng rất hay của TypeScript (TS), các bạn cùng tìm hiểu nhé. Ngoài việc set Type cho biến, tham số hay function thì ví dụ khi bạn nhìn vào một tham

0 0 82