Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Використання hasOwnProperty() для Перевірки Властивостей Об'єкта | Просунуті Методи Маніпулювання Об'єктами
Practice
Projects
Quizzes & Challenges
Вікторини
Challenges
/
Структури Даних JavaScript

bookВикористання hasOwnProperty() для Перевірки Властивостей Об'єкта

Під час ітерації властивостями об'єкта за допомогою циклу for...in важливо розрізняти власні властивості об'єкта та властивості, успадковані від його прототипу.

У JavaScript деякі властивості можуть з'являтися під час ітерації, навіть якщо вони не були визначені безпосередньо в об'єкті. Це відбувається тому, що об'єкти можуть успадковувати властивості від інших об'єктів.

Метод hasOwnProperty() допомагає переконатися, що ми працюємо лише з тими властивостями, які належать безпосередньо об'єкту.

Розуміння hasOwnProperty()

Метод hasOwnProperty() — це вбудований метод JavaScript, який перевіряє, чи існує властивість безпосередньо в об'єкті. Він повертає булеве значення (true або false).

Синтаксис

object.hasOwnProperty(property)
  • object: об'єкт, який потрібно перевірити;
  • property: назва властивості, яку потрібно знайти.

Чому hasOwnProperty() є корисним

Розглянемо наступний приклад:

12345678910
const baseExercise = { category: "Strength", }; const exercise = Object.create(baseExercise); exercise.name = "Deadlift"; for (let key in exercise) { console.log(key); }
copy

Хоча category не була визначена безпосередньо в exercise, вона з'являється у циклі. Саме тому потрібна додаткова перевірка.

Використання hasOwnProperty() з for...in

Комбінуючи for...in з hasOwnProperty(), можна безпечно ітерувати лише власні властивості об'єкта.

12345678910111213
const exercise = { name: "Deadlift", primaryMusclesWorked: "Erector spinae", equipment: "Barbell", exerciseType: "Strength", difficulty: "Intermediate", }; for (let key in exercise) { if (exercise.hasOwnProperty(key)) { console.log(`Property: ${key}, Value: ${exercise[key]}`); } }
copy

Ця перевірка гарантує, що успадковані властивості ігноруються, роблячи ваш код більш передбачуваним і безпечним.

1. Яке основне призначення методу hasOwnProperty()?

2. Яке значення повертає метод hasOwnProperty()?

3. Чому важливо перевіряти власні властивості за допомогою hasOwnProperty() у циклі for...in?

4. Що буде виведено при ітерації властивостями об'єкта video у наведеному коді?

question mark

Яке основне призначення методу hasOwnProperty()?

Select the correct answer

question mark

Яке значення повертає метод hasOwnProperty()?

Select the correct answer

question mark

Чому важливо перевіряти власні властивості за допомогою hasOwnProperty() у циклі for...in?

Select the correct answer

question mark

Що буде виведено при ітерації властивостями об'єкта video у наведеному коді?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 3. Розділ 3

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

bookВикористання hasOwnProperty() для Перевірки Властивостей Об'єкта

Свайпніть щоб показати меню

Під час ітерації властивостями об'єкта за допомогою циклу for...in важливо розрізняти власні властивості об'єкта та властивості, успадковані від його прототипу.

У JavaScript деякі властивості можуть з'являтися під час ітерації, навіть якщо вони не були визначені безпосередньо в об'єкті. Це відбувається тому, що об'єкти можуть успадковувати властивості від інших об'єктів.

Метод hasOwnProperty() допомагає переконатися, що ми працюємо лише з тими властивостями, які належать безпосередньо об'єкту.

Розуміння hasOwnProperty()

Метод hasOwnProperty() — це вбудований метод JavaScript, який перевіряє, чи існує властивість безпосередньо в об'єкті. Він повертає булеве значення (true або false).

Синтаксис

object.hasOwnProperty(property)
  • object: об'єкт, який потрібно перевірити;
  • property: назва властивості, яку потрібно знайти.

Чому hasOwnProperty() є корисним

Розглянемо наступний приклад:

12345678910
const baseExercise = { category: "Strength", }; const exercise = Object.create(baseExercise); exercise.name = "Deadlift"; for (let key in exercise) { console.log(key); }
copy

Хоча category не була визначена безпосередньо в exercise, вона з'являється у циклі. Саме тому потрібна додаткова перевірка.

Використання hasOwnProperty() з for...in

Комбінуючи for...in з hasOwnProperty(), можна безпечно ітерувати лише власні властивості об'єкта.

12345678910111213
const exercise = { name: "Deadlift", primaryMusclesWorked: "Erector spinae", equipment: "Barbell", exerciseType: "Strength", difficulty: "Intermediate", }; for (let key in exercise) { if (exercise.hasOwnProperty(key)) { console.log(`Property: ${key}, Value: ${exercise[key]}`); } }
copy

Ця перевірка гарантує, що успадковані властивості ігноруються, роблячи ваш код більш передбачуваним і безпечним.

1. Яке основне призначення методу hasOwnProperty()?

2. Яке значення повертає метод hasOwnProperty()?

3. Чому важливо перевіряти власні властивості за допомогою hasOwnProperty() у циклі for...in?

4. Що буде виведено при ітерації властивостями об'єкта video у наведеному коді?

question mark

Яке основне призначення методу hasOwnProperty()?

Select the correct answer

question mark

Яке значення повертає метод hasOwnProperty()?

Select the correct answer

question mark

Чому важливо перевіряти власні властивості за допомогою hasOwnProperty() у циклі for...in?

Select the correct answer

question mark

Що буде виведено при ітерації властивостями об'єкта video у наведеному коді?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 3. Розділ 3
some-alt