Làm cách nào để xóa thuộc tính trong đối tượng trong javascript?

Cách ES6/ES7 là cách phổ biến nhất hiện nay vì độ tinh khiết.

baseObject.company = "Microsoft";

1 có thể được sử dụng lại sau này

const addedPropertyObject = {

const { age, ...deletedPropertyObject } = baseObject;

Thêm và xóa thuộc tính trong ES5. Một vấn đề có thể là

baseObject.company = "Microsoft";

1 đã được điều chỉnh và có thể dẫn đến tác dụng phụ

baseObject.company = "Microsoft";

Cũng có một cách để có các phiên bản mới trong ES5 như JavaScript, nhưng điều này sẽ được giải thích sau trong bài viết này. Blog này sẽ theo dõi ngay bây giờ với một mô tả chi tiết về cách hoạt động của việc thêm và xóa

Thêm một thuộc tính vào một đối tượng với ES6 JavaScript

Để hiểu quy trình này trước tiên, chúng ta cần hiểu cách hoạt động của trải rộng trong JavaScript hoạt động. Chức năng này đã được giới thiệu trong ES7 [ECMAScript 7] và được sử dụng rộng rãi trong mọi ứng dụng JavaScript hiện đại. Nó chủ yếu được sử dụng để nhân bản các đối tượng

Về cơ bản, toán tử trải rộng là ba dấu chấm trong một câu lệnh [

baseObject.company = "Microsoft";

3]. Về cơ bản, chúng sao chép vô số thuộc tính riêng của một đối tượng sang một đối tượng mới. Thuộc tính đếm được cho đối tượng là thuộc tính công khai mà người dùng đã đặt cho đối tượng

Trong đối tượng này

baseObject.company = "Microsoft";

4, các thuộc tính có thể đếm được sẽ là

baseObject.company = "Microsoft";

5 và

baseObject.company = "Microsoft";

6. Vì vậy, nếu chúng ta sử dụng toán tử trải rộng trên đối tượng này, chúng ta có thể tạo một phiên bản mới của đối tượng này

________số 8

Tuy nhiên điều này sẽ thất bại. Chúng ta sẽ cần tạo một đối tượng mới của các thuộc tính có thể đếm được vì các thuộc tính có thể đếm được không phải là một kiểu dữ liệu. Bởi vì khi đó chúng ta có một thể hiện khác, chúng ta cũng có thể thêm các thuộc tính một cách dễ dàng mà không làm thay đổi thể hiện ban đầu của đối tượng

const newPerson = { ...person };

Nhưng thay vì gán giá trị của thuộc tính một dòng sau đó, chúng ta thực sự có thể tạo đối tượng và cũng xác định thuộc tính được inlined

const addedPropertyObject = {

const { age, ...deletedPropertyObject } = baseObject;

0

Xóa một thuộc tính của một đối tượng bằng ES6 JavaScript

Để xóa một thuộc tính của một đối tượng trong ES6 JavaScript, chúng ta cần hiểu khái niệm phá hủy đối tượng và trải rộng đối tượng. Trải rộng đối tượng đã được giải thích trong chương trước rồi

Để phá hủy, chúng ta sẽ bắt đầu với một vấn đề đơn giản. Chúng tôi có một đối tượng được gọi là

baseObject.company = "Microsoft";

4 có hai thuộc tính được gọi là

baseObject.company = "Microsoft";

5 và

baseObject.company = "Microsoft";

6. Cả hai đều chứa một chuỗi đơn giản nhưng cũng có thể chứa bất kỳ loại dữ liệu nào trong JavaScript như Mảng, Tập hợp, Số hoặc thậm chí một đối tượng khác

Để truy cập các thuộc tính ngay bây giờ, chúng tôi cần truy cập

const newPerson = ...person;

0 hoặc

const newPerson = ...person;

1, nhưng đối với một số chức năng sử dụng các thuộc tính này nhiều lần, chúng tôi muốn giải mã mã nguồn một chút và chỉ sử dụng

baseObject.company = "Microsoft";

5 hoặc

baseObject.company = "Microsoft";

6. Trong JavaScript truyền thống, điều này sẽ giống như đoạn mã sau đây cho thấy

const addedPropertyObject = {

const { age, ...deletedPropertyObject } = baseObject;

8

Nhưng điều tương tự cũng có thể đạt được với việc hủy đối tượng như ví dụ mã tiếp theo cho thấy

const addedPropertyObject = {

const { age, ...deletedPropertyObject } = baseObject;

9

Chúng ta có thể kết hợp hành vi này với toán tử trải rộng cho các đối tượng. Hãy để chúng tôi tưởng tượng lại đối tượng cơ sở của chúng tôi

baseObject.company = "Microsoft";

4. Nó có hai thuộc tính

baseObject.company = "Microsoft";

5 và

baseObject.company = "Microsoft";

6. Khi chúng ta hủy cấu trúc thuộc tính

baseObject.company = "Microsoft";

5 ra khỏi đối tượng, đối tượng chỉ còn lại

baseObject.company = "Microsoft";

6. Thuộc tính đối tượng này là thuộc tính bên trái của đối tượng. Nó là tài sản đếm được duy nhất còn lại. Nếu đối tượng chứa các thuộc tính khác như

const newPerson = ...person;

9 thì vô số thuộc tính sẽ bao gồm

baseObject.company = "Microsoft";

6 và

const newPerson = ...person;

9. Chúng ta có thể sử dụng hành vi này để tạo một bản sao của một đối tượng "không có" thuộc tính bị hủy cấu trúc

baseObject.company = "Microsoft";

8

Trong trường hợp này, chúng tôi đã bỏ qua các thuộc tính

baseObject.company = "Microsoft";

5 và

baseObject.company = "Microsoft";

6 bằng cách phá hủy chúng. Phần còn lại của các thuộc tính liệt kê được "nhân bản" vào thể hiện đối tượng mới

const newPerson = { ...person };

4. Một ưu điểm lớn của phương pháp này là vẫn có thể truy cập

baseObject.company = "Microsoft";

4 sau khi "xóa" các thuộc tính khỏi đối tượng, nhưng chúng ta cũng có thể sử dụng đối tượng

const newPerson = { ...person };

4 như bình thường. Đây được gọi là chức năng thuần túy vì ứng dụng của "chức năng xóa" không bao giờ thay đổi các đối tượng ban đầu

Thêm một thuộc tính vào một đối tượng với ES5 JavaScript

Chức năng cơ bản được cung cấp trong chính JavaScript. Bạn có thể mở rộng thuộc tính bằng cách gọi

const newPerson = { ...person };

7 trong đó

const newPerson = { ...person };

8 là thuộc tính. Điều đặc biệt là các thuộc tính này cũng có thể được thiết lập và sẽ thay đổi đối tượng ban đầu, điều đó có nghĩa là chức năng ở đây không thực sự thuần túy

baseObject.company = "Microsoft";

Điều này sẽ dẫn đến tình trạng chúng ta không thể truy cập vào

baseObject.company = "Microsoft";

1 cơ bản chỉ với thuộc tính

baseObject.company = "Microsoft";

5,

baseObject.company = "Microsoft";

6 và

const newPerson = ...person;

9. Đối với bước này, chúng ta sẽ cần sao chép đối tượng, điều này cũng có thể thực hiện được trong ES5

baseObject.company = "Microsoft";

1

Xóa thuộc tính của một đối tượng bằng JavaScript ES5

Chức năng xóa thuộc tính cũng được cung cấp trong ES5 JavaScript. Từ khóa để sử dụng là

const addedPropertyObject = {

const { age, ...deletedPropertyObject } = baseObject;

03 và có thể được sử dụng tương tự như việc thêm thuộc tính trông như thế nào

Một lần nữa, vấn đề với cách tiếp cận này là đối tượng ban đầu được điều chỉnh. Điều này có thể dẫn đến các tác dụng phụ và đó là lý do tại sao kỹ sư phần mềm nên sao chép đối tượng trước rồi xóa thuộc tính khỏi đối tượng được sao chép

baseObject.company = "Microsoft";

1

Kết luận và hơn thế nữa

Chúng tôi có thể nói rằng các kỹ sư phần mềm luôn thích sao chép theo cách ES6 vì nó có ít tác dụng phụ nhất và trông ít lộn xộn nhất. Trong thế giới ES5, một kỹ sư phần mềm phải đảm bảo sao chép đối tượng trước khi thực sự thực hiện một thao tác để tuân thủ hoàn toàn các chức năng thuần túy. Tất nhiên, quá trình này có thể bị hỏng, nhưng nó có thể dẫn đến lỗi. Một phương pháp thú vị khác là cách thêm thuộc tính có điều kiện vào Đối tượng trong JavaScript. Tôi cũng đã viết một bài báo về điều đó, bạn có thể theo dõi tại đây. Thêm thuộc tính đối tượng một cách có điều kiện với EcmaScript 6 [ES6]. Nếu bạn quan tâm hơn đến việc phá hủy đối tượng, bạn cũng có thể tìm thấy bài viết Tham số chức năng trong JavaScript trên blog của tôi

Làm cách nào để xóa mục khỏi đối tượng JavaScript?

Trả lời. Sử dụng Toán tử xóa . Xóa là cách duy nhất để thực sự xóa một thuộc tính khỏi một đối tượng.

Đó là cách chính xác để xóa thuộc tính khỏi một đối tượng?

Toán tử xóa xóa thuộc tính khỏi đối tượng. Nếu giá trị của thuộc tính là một đối tượng và không còn tham chiếu đến đối tượng, thì đối tượng được giữ bởi thuộc tính đó cuối cùng sẽ tự động được giải phóng.

Làm cách nào để thêm và xóa thuộc tính đối tượng trong JavaScript?

Thêm/Xóa Thuộc tính khỏi Đối tượng. Để thêm bất kỳ thuộc tính nào, người ta có thể sử dụng object_name. property_name = value [hoặc] object_name[“property_name”] = value . Để xóa bất kỳ thuộc tính nào, người ta có thể dễ dàng sử dụng xóa object_name. property_name [hoặc] xóa object_name[“property_name”].

Chủ Đề