JavaScriptLección 9 de 16
Objetos
Un objeto reúne en un sitio todo sobre una cosa: un personaje tiene nombre, nivel y habilidades. Cada valor vive bajo su propia clave.
Lo esencial
- { name: "Luna", level: 3 } es un objeto hecho de pares clave: valor
- hero.name y hero["name"] leen una propiedad; si no existe, da undefined
- hero.city = "…" añade una propiedad y hero.level += 1 cambia otra
- Un método es una función dentro de un objeto, y this dentro de él apunta al objeto
- Object.keys(obj) devuelve un array de claves y "key" in obj comprueba si una clave existe
Ejemplo
const book = { title: "Dune", year: 1965, pages: 412 };console.log(book.title, book["year"]); book.rating = 5;console.log(book); for (const key of Object.keys(book)) { console.log(`${key} → ${book[key]}`);}console.log("author" in book, book.author);rating se añadió después de crear el objeto, y no pasa nada. El bucle sobre Object.keys recorrió todas las claves en orden, y el libro no tiene author: de ahí false y undefined.
Tarea
Cómo usar el editor⌘ Enter o Ctrl Enter ejecuta el código, ⇧ ⌘ Enter comprueba la tarea.Tab y Mayús Tab sangran la línea o la selección; Esc y luego Tab sale del editor.La comprobación compara lo que imprimió el programa con la tarea; los espacios al final de línea no cuentan.Tras dos comprobaciones fallidas puedes ver la solución. Tu código se guarda en este navegador.Sube de nivel al héroe: aumenta level en 1, añade la propiedad city con el valor Riverwood y la habilidad alchemy a skills, y haz que describe() devuelva Luna (level 4) from Riverwood. Salida: Luna (level 4) from Riverwood, Skills: stealth, archery, alchemy y name, level, skills, describe, city.
Salida
Aquí aparecerá lo que imprima el programa.