Tìm hiểu về Destructuring trong ES6

Tram Ho

Chào các bạn! Tuy javascript ES6 đã được giới thiệu cách đây khá lâu, nhưng mình cũng chưa thực sự hiểu và sử dụng thành thạo những tính năng được giới thiệu. Gần đây mình có tìm hiểu và sử dụng một tính năng mà mình cho khá hay và hữu ích khi chúng ta làm việc với array hoặc object literial, đó là Destructuring. Trong bài viết này mình sẽ giới thiệu về destructuring và những trường hợp cần sử dụng nó.

Destructuring

Destructuring là một tính năng dễ, đơn giản và mình hay sử dụng nhất. Một điều tuyệt với là tính năng này làm việc với cả array và object trong javascript.

Destructuring cho phép chúng ta lấy ra một property cụ thể một cách rất nhanh chóng.

Ngoài ra chúng ta cũng có thể đặt tên khác cho biến của chúng ta bằng cú pháp.

Chúng cũng có thể lấy các thuộc tính sâu bên trong một object và cũng có thể đặt tên cho các property sâu bên trong đó.

Mặc định nếu property không tìm thấy trong object thì sẽ có giá trị undefined, giống như khi chúng ta cố gắng lấy giá trị của một property không có trong object.

Nếu chúng ta cố gắng lấy giá trị của một property sâu bên trong mà không tồn tại trong object thí một exception sẽ được throw.

Một ứng dụng mình thấy thích nhất ở tính năng destructuring là hoán đổi giá trị giữa hai biến.

Chúng ta cũng có thể dùng ‘computed property names’ trong destructuring.

Chúng ta cũng có thể chị định giá trị mặt định cho biến khi biến đó nhận giá tị undefined.

Như đã nói ở trên, destructuring cũng làm việc với array, lúc này chúng ta thay dấu { và } thành dấu [ và ].

Các trường hợp sử dụng Destructuring

Sau đây là một số trường hợp mà destructuring sẽ hữu ích.
Khi một function trả về một object, sau đó bạn muốn gắn các propery trong object đó vào các biến riêng biệt, destructuring sẽ giúp bạn làm việc đó rất đơn giản

Sử dụng destructuring trong param của function

Trên đây mình đã giới thiệu về cú pháp, các trường hợp nên sử dụng destructuring. Mình mong là bài viết của mình sẽ giúp bạn hiểu hơn về destructuring và sử dụng tính năng này trong code của mình.

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo