Usando hasOwnProperty() para Verificar Propriedades de Objetos
Ao iterar pelas propriedades de um objeto usando o laço for...in, é importante distinguir entre as propriedades próprias do objeto e as propriedades herdadas de seu protótipo.
Em JavaScript, algumas propriedades podem aparecer durante a iteração mesmo que não tenham sido definidas diretamente no objeto. Isso ocorre porque objetos podem herdar propriedades de outros objetos.
O método hasOwnProperty() nos ajuda a garantir que estamos trabalhando apenas com as propriedades que pertencem diretamente ao objeto.
Compreendendo hasOwnProperty()
O método hasOwnProperty() é um método nativo do JavaScript que verifica se uma propriedade existe diretamente em um objeto. Ele retorna um valor Booleano (true ou false).
Sintaxe
object.hasOwnProperty(property)
object: o objeto que você deseja verificar;property: o nome da propriedade a ser procurada.
Por que hasOwnProperty() é útil
Considere o exemplo a seguir:
12345678910const baseExercise = { category: "Strength", }; const exercise = Object.create(baseExercise); exercise.name = "Deadlift"; for (let key in exercise) { console.log(key); }
Mesmo que category não tenha sido definida diretamente em exercise, ela aparece no loop. Por isso, é necessário uma verificação adicional.
Usando hasOwnProperty() com for...in
Ao combinar for...in com hasOwnProperty(), é possível iterar com segurança apenas sobre as propriedades próprias do objeto.
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]}`); } }
Essa verificação garante que propriedades herdadas sejam ignoradas, tornando o código mais previsível e seguro.
1. Qual é o principal objetivo do método hasOwnProperty()?
2. Que tipo de valor o método hasOwnProperty() retorna?
3. Ao usar hasOwnProperty() com o loop for...in, por que é importante verificar as propriedades próprias?
4. No código abaixo, o que será exibido ao iterar pelas propriedades do objeto video?
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Incrível!
Completion taxa melhorada para 2.27
Usando hasOwnProperty() para Verificar Propriedades de Objetos
Deslize para mostrar o menu
Ao iterar pelas propriedades de um objeto usando o laço for...in, é importante distinguir entre as propriedades próprias do objeto e as propriedades herdadas de seu protótipo.
Em JavaScript, algumas propriedades podem aparecer durante a iteração mesmo que não tenham sido definidas diretamente no objeto. Isso ocorre porque objetos podem herdar propriedades de outros objetos.
O método hasOwnProperty() nos ajuda a garantir que estamos trabalhando apenas com as propriedades que pertencem diretamente ao objeto.
Compreendendo hasOwnProperty()
O método hasOwnProperty() é um método nativo do JavaScript que verifica se uma propriedade existe diretamente em um objeto. Ele retorna um valor Booleano (true ou false).
Sintaxe
object.hasOwnProperty(property)
object: o objeto que você deseja verificar;property: o nome da propriedade a ser procurada.
Por que hasOwnProperty() é útil
Considere o exemplo a seguir:
12345678910const baseExercise = { category: "Strength", }; const exercise = Object.create(baseExercise); exercise.name = "Deadlift"; for (let key in exercise) { console.log(key); }
Mesmo que category não tenha sido definida diretamente em exercise, ela aparece no loop. Por isso, é necessário uma verificação adicional.
Usando hasOwnProperty() com for...in
Ao combinar for...in com hasOwnProperty(), é possível iterar com segurança apenas sobre as propriedades próprias do objeto.
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]}`); } }
Essa verificação garante que propriedades herdadas sejam ignoradas, tornando o código mais previsível e seguro.
1. Qual é o principal objetivo do método hasOwnProperty()?
2. Que tipo de valor o método hasOwnProperty() retorna?
3. Ao usar hasOwnProperty() com o loop for...in, por que é importante verificar as propriedades próprias?
4. No código abaixo, o que será exibido ao iterar pelas propriedades do objeto video?
Obrigado pelo seu feedback!