5 hàm JavaScript về Object bắt buộc phải biết nếu muốn thành lập trình viên Super Vip Pro

0 0 0

Người đăng: Thái Thịnh

Theo Viblo Asia

Tiếp nối bài viết 15 hàm JavaScript bắt buộc phải thành thạo nếu muốn trở thành lập trình viên Super Vip Pro, tôi xin phép được chia sẻ cùng với các bạn về 5 hàm Object bắt buộc phải biết trong JavaScript và cũng phổ thông nhất giúp cho việc lập trình trở nên đơn giản và nhanh chóng hơn. Hy vọng bài viết này sẽ giúp ích cho nhiều bạn trên con đường trở thành lập trình viên Super Vip Pro 😃))))

1. assign()

Chúng ta sẽ cùng bắt đầu với hàm Object.assign(). Cái này rất tuyệt để khởi tạo/hợp nhất các đối tượng và bạn có thể sử dụng nó để thiết lập mặc định.

Chúng ta hãy cùng xem nó hoạt động như thế nào nhé.

Dưới đây là một hàm chấp nhận tham số options. Khi Object.assign() được sử dụng, bất kỳ thuộc tính nào trong đối tượng mục tiêu đều được ghi đè bởi các thuộc tính tương đương trong đối tượng nguồn (source object).

function foo(options) { const defaults = { maxPoints: 5000, startingCash: 100, rounds: 3, }; // { maxPoints: 20000, startingCash: 100, rounds: 5 } options = Object.assign(defaults, options);
} foo({ maxPoints: 20000, rounds: 5
});

Gợi ý: cú pháp spread (...) cũng mang lại mục đích tương tự.

2. defineProperty()

Bạn có biết rằng có một cách thú vị để định nghĩa thuộc tính đối tượng mới trong JavaScript không? Vâng, có đấy.

Nếu bạn sử dụng hàm này để thêm thuộc tính mới vào đối tượng hiện có, bạn có thể "tùy chỉnh" định nghĩa của nó. Ví dụ, bạn có thể làm cho thuộc tính không thể thay đổi.

Chúng ta hãy xem một ví dụ nhé:

const person = { name: "Dom", age: 28, favoriteColor: "Blue"
}; // Add an immutable "country" property
Object.defineProperty(person, "country", { value: "Australia", writable: false
}); // Doesn't work!
person.country = "New Zealand";

Có nhiều điều khác bạn có thể làm với chức năng defineProperty này và tôi khuyên bạn nên đọc tài liệu trong link này để biết thêm thông tin!

3. entries()

So với 2 hàm trước, hàm này đơn giản hơn một chút. Hàm này lấy các cặp Key - Value trong một đối tượng và chuyển đổi chúng thành một mảng hai chiều.

Một số trường hợp nên sử dụng hàm này:

  • Xây dựng chuỗi truy vấn URL
  • Lặp qua một đối tượng (kết hợp với việc giải cấu trúc mảng)

Sau đây là một ví dụ minh họa nhanh:

const color = { red: 0, green: 149, blue: 120
} for (const [key, value] of Object.entries(color)) { console.log(`${key} => ${value}`);
} /* Output: red => 0 green => 149 blue => 120
*/

Hãy ghi nhớ ví dụ này vì rất có thể bạn sẽ cần đến nó sau này

4. fromEntries()

Nếu bạn không tìm ra cách giải quyết từ hàm cuối cùng, JavaScript sẽ gọi mảng hai chiều gồm các cặp Key - Value được gọi là "entries".

Sử dụng hàm này sẽ lấy một mảng hai chiều và chuyển đổi nó thành một đối tượng. Thật tuyệt vời phải không nào.

Chúng ta hãy cùng xem ví dụ sau đây nhé:

const colorArray = [ ["red", 0], ["green", 149], ["blue", 120],
]; // { red: 0, green: 149, blue: 120 }
const color = Object.fromEntries(colorArray);

Hãy nhớ rằng, mặc dù đối số có khả năng xảy ra nhất cho hàm này là một mảng, nhưng nó có thể hoạt động trên bất kỳ kiểu lặp nào, bao gồm cả chuỗi.

5. Object.freeze()

Cuối cùng nhưng không kém phần quan trọng là Object.freeze(). Hàm này thực hiện đúng như trên gọi của nó, đó là nó sẽ đóng băng (freeze) đối tượng được truyền tới nó.

Một object bị đóng băng có nghĩa là:

  • Chúng không thể thêm thuộc tính mới
  • Các thuộc tính hiện tại không thể thay đổi
  • Các thuộc tính hiện tại không thể bị xóa

Ví dụ:

const person = { name: "Dom", age: 28, favoriteColor: "Blue"
}; // none of these work ❌
person.country = "Australia";
person.name = "Rodney";
delete person.age

Mẹo: bạn có thể sử dụng Object.unfreeze() để đảo ngược hiệu ứng này.

Cảm ơn các bạn đã xem bài viết vừa rồi!

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 519

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

Bạn đã biết các tips này khi làm việc với chuỗi trong JavaScript chưa ?

Hi xin chào các bạn, tiếp tục chuỗi chủ đề về cái thằng JavaScript này, hôm nay mình sẽ giới thiệu cho các bạn một số thủ thuật hay ho khi làm việc với chuỗi trong JavaScript có thể bạn đã hoặc chưa từng dùng. Cụ thể như nào thì hãy cùng mình tìm hiểu trong bài viết này nhé (go).

0 0 429

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

Một số phương thức với object trong Javascript

Trong Javascript có hỗ trợ các loại dữ liệu cơ bản là giống với hầu hết những ngôn ngữ lập trình khác. Bài viết này mình sẽ giới thiệu về Object và một số phương thức thường dùng với nó.

0 0 148

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

Tìm hiểu về thư viện axios

Giới thiệu. Axios là gì? Axios là một thư viện HTTP Client dựa trên Promise.

0 0 137

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

Imports và Exports trong JavaScript ES6

. Giới thiệu. ES6 cung cấp cho chúng ta import (nhập), export (xuất) các functions, biến từ module này sang module khác và sử dụng nó trong các file khác.

0 0 106

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

Bài toán đọc số thành chữ (phần 2) - Hoàn chỉnh chương trình dưới 100 dòng code

Tiếp tục bài viết còn dang dở ở phần trước Phân tích bài toán đọc số thành chữ (phần 1) - Phân tích đề và những mảnh ghép đầu tiên. Bạn nào chưa đọc thì có thể xem ở link trên trước nhé.

0 0 242