Kiểm tra đối tượng có thuộc tính javascript

Có một số phương pháp kiểm tra xem đối tượng có thuộc tính hay không trong JavaScript. Hãy nhanh chóng khám phá chúng và tìm ra cái nhanh nhất

Hầu hết các nhà phát triển sử dụng phương thức typeof để kiểm tra xem loại thuộc tính có phải là không xác định hay không. Nếu đối tượng có thuộc tính với giá trị không xác định, typeof không được khuyến nghị

Kiểm tra đối tượng có thuộc tính javascript
Phương thức typeof Javascript không xác định

hãy để myObj = { chào mừng. "Chào mừng" }; . nhật ký (không xác định); . nhật ký (myObj ["chào mừng"]);

Kiểm tra đối tượng có thuộc tính javascript
Phương thức typeof Javascript không xác định

hãy để myObj = { chào mừng. "Chào mừng" }; . hoan nghênh)) { // Thuộc tính KHÔNG tồn tại bảng điều khiển. nhật ký (không xác định); . nhật ký (myObj. hoan nghênh);

Đối tượng Javascript cung cấp phương thức gốc hasOwnProperty. Phương thức trả về một boolean cho biết đối tượng có thuộc tính được chỉ định làm tham số đầu tiên hay không

Phương thức hasOwnProperty không kiểm tra chuỗi nguyên mẫu của đối tượng

Kiểm tra đối tượng có thuộc tính javascript
Phương thức hasOwnProperty trong Javascript

hãy để myObj = { chào mừng. "Chào mừng đến với W3Docs. " }; cho prop = myObj. hasOwnProperty("hoan nghênh"); . nhật ký (chống đỡ); . nhật ký (chống đỡ); . hasOwnProperty("Javascript"); . nhật ký (["chào mừng"]. hasOwnProperty(0)); . nhật ký (["chào mừng"]. hasOwnProperty("chào mừng"));

Toán tử in trả về true nếu nó tìm thấy thuộc tính đã chỉ định trong đối tượng

Toán tử in có thể được sử dụng cả trong đối tượng và mảng

Kiểm tra đối tượng có thuộc tính javascript
Toán tử "trong" Javascript

hãy để myObj = { chào mừng. "Chào mừng đến với W3Docs" }; . nhật ký (chống đỡ); . nhật ký (chống đỡ); . nhật ký ((0 trong ["chào mừng"])); . log(("chào mừng" trong ["chào mừng"]));

Để hiểu phương pháp nào nhanh hơn, bạn nên làm việc với các đối tượng lớn. Các thử nghiệm cho thấy typeof nhanh hơn nhiều so với hasOwnProperty và trong các phương thức

Toán tử typeof giúp lấy kiểu dữ liệu của toán hạng của nó. Toán hạng có thể là một cấu trúc dữ liệu hoặc chữ (một đối tượng, một hàm hoặc một biến). Hàm typeof trả về một chuỗi có tên của loại biến làm tham số đầu tiên (đối tượng, boolean, không xác định, v.v. )

Phương thức hasOwnProperty trả về một giá trị boolean, cho biết liệu đối tượng có chứa thuộc tính đã chỉ định hay không

Phương thức này xác định xem đối tượng có thuộc tính được chỉ định là thuộc tính trực tiếp của đối tượng đó hay không. Không giống như toán tử in, hasOwnProperty không kiểm tra thuộc tính trong chuỗi nguyên mẫu của đối tượng. Nếu một đối tượng là một Mảng, phương thức này có thể kiểm tra xem một chỉ mục có tồn tại hay không. Nếu thuộc tính được chỉ định tồn tại trong đối tượng hoặc chuỗi nguyên mẫu của nó, toán tử in trả về true

Chúng ta thường xuyên gặp phải vấn đề đơn giản nhất có thể giải quyết rất dễ dàng. Chúng tôi biết giải pháp cho vấn đề sẽ rất dễ dàng, nhưng thật khó để đưa ra giải pháp. Nó trở nên choáng ngợp với tất cả các khái niệm mới và nhiều thứ khác nhau có sẵn trực tuyến. Đây là một trong những vấn đề như vậy đối với tôi khi tôi mới bắt đầu với JavaScript. Vì vậy hôm nay mình xin liệt kê các cách kiểm tra xem thuộc tính có tồn tại trong một đối tượng hay không

Kiểm tra đối tượng có thuộc tính javascript

1. Sử dụng phương thức Đối tượng hasOwnProperty()

Giải pháp phổ biến nhất là sử dụng

console.log(favAuthor.hasOwnProperty('favVillain')) // false
7, một trong những phương thức đối tượng phổ biến. Phương thức này trả về một giá trị boolean cho biết đối tượng có thuộc tính được chỉ định hay không

var favAuthor = {
  name: 'Dan Brown',
  favBook: 'Lost Symbol',
  favCharacter: 'Robert Langdon'
}
if(favAuthor.hasOwnProperty('favCharacter')) // true
{console.log('The property exists')}
else {
  console.log('The property does not exist')
}

Nếu thuộc tính không tồn tại, nó sẽ trả về false

console.log(favAuthor.hasOwnProperty('favVillain')) // false

2. trong nhà điều hành

Toán tử

console.log(favAuthor.hasOwnProperty('favVillain')) // false
0 trả về
console.log(favAuthor.hasOwnProperty('favVillain')) // false
1 nếu thuộc tính được chỉ định nằm trong đối tượng được chỉ định

var favAuthor = {
  name: 'Dan Brown',
  favBook: 'Lost Symbol',
  favCharacter: 'Robert Langdon'
}
if('name' in favAuthor) // true
{console.log('The property exists')}
else {
  console.log('The property does not exist')
}

Nếu thuộc tính được chỉ định không tồn tại, biểu thức sẽ trả về false

console.log('favVillain' in favAuthor) // false

3. Sử dụng typeof và so sánh nó với undefined

Nếu thuộc tính không tồn tại, loại thuộc tính phải là

console.log(favAuthor.hasOwnProperty('favVillain')) // false
2 và do đó chúng ta có thể sử dụng toán tử
console.log(favAuthor.hasOwnProperty('favVillain')) // false
3 và so sánh nó với
console.log(favAuthor.hasOwnProperty('favVillain')) // false
2

var favAuthor = {
  name: 'Dan Brown',
  favBook: 'Lost Symbol',
  favCharacter: 'Robert Langdon'
}
if(typeof favAuthor.name !== 'undefined') // true
{console.log('The property exists')}
else {
  console.log('The property does not exist')
}

Nếu thuộc tính được chỉ định không tồn tại trong đối tượng được đề cập, nó sẽ trả về false

console.log(favAuthor.hasOwnProperty('favVillain')) // false
0

4) Sử dụng. toán tử (toán tử hai tiếng nổ)

Đây là phương pháp ít được biết đến nhất để kiểm tra thuộc tính trong đối tượng. Trong Javascript, mọi giá trị đều có giá trị boolean, true hoặc false được liên kết. Ví dụ: giá trị

console.log(favAuthor.hasOwnProperty('favVillain')) // false
5 có giá trị boolean được liên kết là
console.log(favAuthor.hasOwnProperty('favVillain')) // false
6. Giá trị chuỗi, chẳng hạn như
console.log(favAuthor.hasOwnProperty('favVillain')) // false
7 có giá trị boolean được liên kết là
console.log(favAuthor.hasOwnProperty('favVillain')) // false
1

Bạn có thể tìm thấy danh sách các giá trị trung thực tại đây và các giá trị giả tại đây

Null là một giá trị giả

console.log(favAuthor.hasOwnProperty('favVillain')) // false
5

Vì vậy, chúng tôi có thể tận dụng điều đó bằng tên của thuộc tính mà chúng tôi muốn kiểm tra bằng cách sử dụng. nhà điều hành. Nếu khóa của giá trị thuộc tính không phải là null, nó sẽ trả về true

console.log(favAuthor.hasOwnProperty('favVillain')) // false
6

Nếu thuộc tính bằng null, có nghĩa là thuộc tính không tồn tại, nó sẽ tương đương với false vì null là sai

Làm cách nào để kiểm tra xem một đối tượng có thuộc tính trong JavaScript không?

Đối tượng. nguyên mẫu. hasOwnProperty() Phương thức hasOwnProperty() trả về một giá trị boolean cho biết liệu đối tượng có thuộc tính được chỉ định làm thuộc tính riêng của nó hay không (trái ngược với việc kế thừa nó).

Làm cách nào để kiểm tra xem một đối tượng có khóa JavaScript cụ thể không?

Có hai phương pháp chủ yếu để kiểm tra sự tồn tại của khóa trong Đối tượng JavaScript. Cái đầu tiên là sử dụng “toán tử trong” và cái thứ hai là sử dụng “phương thức hasOwnProperty()” . Phương pháp 1. Sử dụng toán tử 'in'. Toán tử in trả về giá trị boolean nếu thuộc tính được chỉ định nằm trong đối tượng.

Làm cách nào để kiểm tra xem thuộc tính đối tượng có trống JavaScript không?

const isObjectEmpty = (objectName) => { for (let prop in objectName) { if (objectName. hasOwnProperty(prop)) { return false; . Nếu nó tìm thấy một lần lặp, đối tượng không trống. The method above will loop through each object property. If it finds a single iteration, the object is not empty.