MEJOR SITIO PARA DESARROLLADORES WEB

JS Tutorial

JS HOGAR JS Introducción JS A donde JS Producción JS Declaraciones JS Sintaxis JS Comentarios JS Variables JS Let JS Const JS Operadores JS Aritmética JS Asignación JS Tipos de datos JS Funciones JS Objetos JS Propiedades de objetos JS Métodos de objetos JS Visualización de objetos JS Constructores de objetos JS Eventos JS Cadenas JS Métodos de cadena JS Búsqueda de cadenas JS Plantillas de cadenas JS Números JS BigInt JS Métodos numéricos JS Propiedades de los números JS Matrices JS Métodos de matriz JS Búsqueda de matriz JS Clasificación de matrices JS Iteración de matriz JS Array Const JS Fechas JS Formatos de fecha JS Métodos de obtención de fecha JS Métodos de configuración de fechas JS Math JS aleatorio JS Booleanos JS Comparaciones JS If Else JS Switch JS Bucle For JS Bucle For In JS Bucle For Of JS Bucle While JS Break JS Iterables JS Conjuntos JS Métodos de configuración JS Maps JS Métodos de mapas JS Tipo de JS Conversión de tipo JS Desestructuración JS Bitwise JS RegExp JS Precedencia JS Errores JS Alcance JS Hoisting JS Modo estricto JS this palabra clave JS Función de flecha JS Clases JS Módulos JS JSON JS Depuración JS Guía de estilo JS Mejores prácticas JS Errores JS Rendimiento JS Palabras reservadas

JS Versiones

JS Versiones JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS 2019 JS 2020 JS 2021 JS 2022 JS 2023 JS 2024 JS IE / Edge JS Historia

JS Objetos

Definiciones de objetos Prototipos de objetos Métodos de objetos Propiedades de objetos Obtención/configuración de objetos Protección de objetos

JS Funciones

Función Definiciones Función Parámetros Función Invocación Función Llamar Función Aplicar Función Unir Función Cierres

JS Clases

Clase Introducción Clase Herencia Clase Estático

JS Asíncrono

JS Devoluciones de llamada JS Asincrónico JS Promesas JS Async/Await

JS HTML DOM

DOM Introducción DOM Métodos DOM Documento DOM Elementos DOM HTML DOM Formularios DOM CSS DOM Animaciones DOM Eventos DOM Oyente de eventos DOM Navegación DOM Nodos DOM Colecciones DOM Listas de nodos

JS Navegador BOM

JS Ventana JS Pantalla JS Ubicación JS Historia JS Navegador JS Alerta emergente JS Momento JS Cookies

JS Web APIs

Web API Introducción API de formularios web API de historial web API de almacenamiento web API de trabajador web API de recuperación web API de geolocalización web

JS AJAX

AJAX Introducción AJAX XMLHttp AJAX Pedido AJAX Respuesta AJAX XML Archivo AJAX PHP AJAX ASP AJAX Base de datos AJAX Aplicaciones AJAX Ejemplos

JS JSON

JSON Introducción JSON Sintaxis JSON vs XML JSON Tipos de datos JSON Analizar JSON Stringificar JSON Objetos JSON Matrices JSON Servidor JSON PHP JSON HTML JSON JSONP

JS vs jQuery

jQuery Selectores jQuery HTML jQuery CSS jQuery DOM

JS Gráficos

JS Gráficos JS Canvas JS Plotly JS Chart.js JS Google Chart JS D3.js

JS Ejemplos

JS Ejemplos JS HTML DOM JS HTML Input JS HTML Objetos JS HTML Eventos JS Navegador JS Editor JS Ejercicios JS Prueba JS Sitio web JS Programa de estudios JS Plan de estudios JS Preparación para entrevistas JS Bootcamp JS Certificado

JS Referencias

JavaScript Objetos HTML DOM Objetos

JavaScript. W3Schools en español. Lecciones para principiantes

Ua En De Fr

JavaScript Objetos


Objetos, propiedades y métodos de la vida real

En la vida real, un automóvil es un objeto.

Un automóvil tiene propiedades como peso y color, y métodos como arrancar y detenerse:

Objeto Propiedades Métodos
JavaScript Object
car.name = Fiat

car.model = 500

car.weight = 850kg

car.color = white

car.start()

car.drive()

car.brake()

car.stop()

Todos los coches tienen las mismas propiedades, pero los valores de las propiedades difieren de un coche a otro.

Todos los coches tienen los mismos métodos, pero los métodos se ejecutan en momentos diferentes.


Objetos de JavaScript

Ya aprendiste que las variables de JavaScript son contenedores de valores de datos.

Este código asigna un valor simple (Fiat) a una variable denominada automóvil:

let car = "Fiat";
Try it Yourself »

Los objetos también son variables. Sin embargo, pueden contener muchos valores.

Este código asigna muchos valores (Fiat, 500, blanco) a una variable denominada coche:

const car = {type:"Fiat", model:"500", color:"white"};
Try it Yourself »

Los valores se escriben como pares nombre:valor (nombre y valor separados por dos puntos).

Es una práctica común declarar objetos con la palabra clave const.

Obtenga más información sobre el uso de const con objetos en el capítulo: JS Const.


Definición de objeto

Define (y crea) un objeto JavaScript con un literal de objeto:

Ejemplo

const person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
Try it Yourself »

Los espacios y los saltos de línea no son importantes. La definición de un objeto puede abarcar varias líneas:

Ejemplo

const person = {
  firstName: "John",
  lastName: "Doe",
  age: 50,
  eyeColor: "blue"
};
Try it Yourself »

Propiedades de objetos

Los pares nombre:valores en los objetos de JavaScript se denominan propiedades:

Propiedad Valor de la propiedad
firstName John
lastName Doe
age 50
eyeColor blue

Acceso a las propiedades de los objetos

Puede acceder a las propiedades de los objetos de dos maneras:

objectName.propertyName

o

objectName["propertyName"]

Ejemplo1

person.lastName;
Try it Yourself »

Ejemplo2

person["lastName"];
Try it Yourself »

Los objetos de JavaScript son contenedores de valores nombrados llamados propiedades.


Métodos de objetos

Los objetos también pueden tener métodos.

Los métodos son acciones que se pueden realizar sobre los objetos.

Los métodos se almacenan en propiedades como definiciones de funciones.

Propiedad Valor de la propiedad
firstName John
lastName Doe
age 50
eyeColor blue
fullName function() {return this.firstName + " " + this.lastName;}

Un método es una función almacenada como una propiedad.


Ejemplo

const person = {
  firstName: "John",
  lastName : "Doe",
  id       : 5566,
  fullName : function() {
    return this.firstName + " " + this.lastName;
  }
};

En el ejemplo anterior, this se refiere al objeto persona.

I.E. this.firstName significa la propiedad firstName de this.

I.E. this.firstName significa la propiedad firstName de la persona.


¿Qué es this ?

En JavaScript, la palabra clave this hace referencia a un objeto.

El objeto que se elija depende de cómo se invoque (use o llame) this.

La palabra clave this hace referencia a diferentes objetos según cómo se utilice:

En un método de objeto, this hace referencia al objeto.
Solo, this hace referencia al objeto global.
En una función, this hace referencia al objeto global.
En una función, en modo estricto, this es undefined.
En un evento, this hace referencia al elemento que recibió el evento.
Métodos como call(), apply() y bind() pueden hacer referencia this a cualquier objeto.

Nota

this no es una variable, es una palabra clave. No puedes cambiar el valor de this.

Ver también:

El tutorial de JavaScript this.


La palabra clave this

En una definición de función, this hace referencia al "propietario" de la función.

En el ejemplo anterior, this es el objeto persona que "posee" la función fullName.

En otras palabras, this.firstName significa la propiedad firstName de este objeto.

Obtenga más información sobre this en el Tutorial de JavaScript this.


Cómo acceder a métodos de objetos

Puede acceder a un método de objeto con la siguiente sintaxis:

objectName.methodName()

Ejemplo

name = person.fullName();
Try it Yourself »

Si accede a un método sin los paréntesis (), devolverá la definición de función:

Ejemplo

name = person.fullName;
Try it Yourself »

¡No declare cadenas, números ni valores booleanos como objetos!

Cuando se declara una variable de JavaScript con la palabra clave "new", la variable se crea como un objeto:

x = new String();        // Declara x como un objeto String
y = new Number();        // Declara y como un objeto Número
z = new Boolean();       // Declara z como un objeto Booleano

Evite los objetos String, Number y Boolean, ya que complican el código y reducen la velocidad de ejecución.

Aprenderá más sobre los objetos más adelante en este tutorial.


Ponte a prueba con ejercicios

Ejercicio:

Alerta a "John" extrayendo información del objeto person.

const person = {
  firstName: "John",
  lastName: "Doe"
};

alert();