Використання hasOwnProperty() для Перевірки Властивостей Об'єкта
Під час ітерації властивостями об'єкта за допомогою циклу for...in важливо розрізняти власні властивості об'єкта та властивості, успадковані від його прототипу.
У JavaScript деякі властивості можуть з'являтися під час ітерації, навіть якщо вони не були визначені безпосередньо в об'єкті. Це відбувається тому, що об'єкти можуть успадковувати властивості від інших об'єктів.
Метод hasOwnProperty() допомагає переконатися, що ми працюємо лише з тими властивостями, які належать безпосередньо об'єкту.
Розуміння hasOwnProperty()
Метод hasOwnProperty() — це вбудований метод JavaScript, який перевіряє, чи існує властивість безпосередньо в об'єкті. Він повертає булеве значення (true або false).
Синтаксис
object.hasOwnProperty(property)
object: об'єкт, який потрібно перевірити;property: назва властивості, яку потрібно знайти.
Чому hasOwnProperty() є корисним
Розглянемо наступний приклад:
12345678910const baseExercise = { category: "Strength", }; const exercise = Object.create(baseExercise); exercise.name = "Deadlift"; for (let key in exercise) { console.log(key); }
Хоча category не була визначена безпосередньо в exercise, вона з'являється у циклі. Саме тому потрібна додаткова перевірка.
Використання hasOwnProperty() з for...in
Комбінуючи for...in з hasOwnProperty(), можна безпечно ітерувати лише власні властивості об'єкта.
12345678910111213const 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]}`); } }
Ця перевірка гарантує, що успадковані властивості ігноруються, роблячи ваш код більш передбачуваним і безпечним.
1. Яке основне призначення методу hasOwnProperty()?
2. Яке значення повертає метод hasOwnProperty()?
3. Чому важливо перевіряти власні властивості за допомогою hasOwnProperty() у циклі for...in?
4. Що буде виведено при ітерації властивостями об'єкта video у наведеному коді?
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Чудово!
Completion показник покращився до 2.27
Використання hasOwnProperty() для Перевірки Властивостей Об'єкта
Свайпніть щоб показати меню
Під час ітерації властивостями об'єкта за допомогою циклу for...in важливо розрізняти власні властивості об'єкта та властивості, успадковані від його прототипу.
У JavaScript деякі властивості можуть з'являтися під час ітерації, навіть якщо вони не були визначені безпосередньо в об'єкті. Це відбувається тому, що об'єкти можуть успадковувати властивості від інших об'єктів.
Метод hasOwnProperty() допомагає переконатися, що ми працюємо лише з тими властивостями, які належать безпосередньо об'єкту.
Розуміння hasOwnProperty()
Метод hasOwnProperty() — це вбудований метод JavaScript, який перевіряє, чи існує властивість безпосередньо в об'єкті. Він повертає булеве значення (true або false).
Синтаксис
object.hasOwnProperty(property)
object: об'єкт, який потрібно перевірити;property: назва властивості, яку потрібно знайти.
Чому hasOwnProperty() є корисним
Розглянемо наступний приклад:
12345678910const baseExercise = { category: "Strength", }; const exercise = Object.create(baseExercise); exercise.name = "Deadlift"; for (let key in exercise) { console.log(key); }
Хоча category не була визначена безпосередньо в exercise, вона з'являється у циклі. Саме тому потрібна додаткова перевірка.
Використання hasOwnProperty() з for...in
Комбінуючи for...in з hasOwnProperty(), можна безпечно ітерувати лише власні властивості об'єкта.
12345678910111213const 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]}`); } }
Ця перевірка гарантує, що успадковані властивості ігноруються, роблячи ваш код більш передбачуваним і безпечним.
1. Яке основне призначення методу hasOwnProperty()?
2. Яке значення повертає метод hasOwnProperty()?
3. Чому важливо перевіряти власні властивості за допомогою hasOwnProperty() у циклі for...in?
4. Що буде виведено при ітерації властивостями об'єкта video у наведеному коді?
Дякуємо за ваш відгук!