Tutorial JS

JS INICIO JS Introducción JS Dónde Salida JS Declaraciones JS Sintaxis JS Comentarios JS Variables JS JS Vamos Constante JS Operadores JS Aritmética JS Tarea JS Tipos de datos JS Funciones JS Objetos JS Eventos JS Cadenas JS Métodos de cadena JS Búsqueda de cadenas JS Plantillas de cadena JS Números JS Métodos numéricos JS Matrices JS Métodos de matriz JS Clasificación de matriz JS Iteración de matriz JS Constante de matriz JS Fechas JS Formatos de fecha JS Métodos de obtención de fecha JS Métodos de configuración de fechas JS Matemáticas JS JS al azar Booleanos JS Comparaciones JS Condiciones JS Interruptor JS Bucle JS para Bucle JS para entrada Bucle JS para de Bucle JS mientras descanso JS Iterables JS Conjuntos JS Mapas JS JS Tipo de Conversión de tipo JS JS bit a bit JS expresión regular Errores JS Alcance JS JS Elevación Modo estricto JS JS esta palabra clave Función de flecha JS Clases JS JSJSON Depuración JS Guía de estilo JS Prácticas recomendadas de JS Errores JS Rendimiento JS Palabras reservadas de JS

Versiones JS

Versiones JS JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE / Borde Historia de JS

Objetos JS

Definiciones de objetos Propiedades del objeto Métodos de objetos Visualización de objetos Accesores de objetos Constructores de objetos Prototipos de objetos Objeto iterables Conjuntos de objetos Mapas de objetos Referencia de objeto

Funciones JS

Definiciones de funciones Parámetros de función Invocación de funciones Llamada de función Función Aplicar Cierres de funciones

Clases JS

Introducción a la clase Herencia de clase Clase estática

JS asíncrono

Devoluciones de llamada JS JS asíncrono Promesas JS JS asíncrono/espera

JS HTML DOM

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

Lista de materiales del navegador JS

Ventana JS Pantalla JS Ubicación de JS Historia de JS Navegador JS Alerta emergente JS Tiempo JS Galletas JS

API web de JS

Introducción a la API web API de formularios web API de historial web API de almacenamiento web API de trabajo web API de búsqueda web API de geolocalización web

JS AJAX

Introducción a AJAX AJAX XMLHttp Solicitud AJAX Respuesta AJAX Archivo XML AJAX AJAXPHP Ajax ASP Base de datos AJAX Aplicaciones AJAX Ejemplos de AJAX

JSJSON

Introducción JSON Sintaxis JSON JSON frente a XML Tipos de datos JSON Análisis JSON Cadena JSON Objetos JSON Matrices JSON Servidor JSON JSONPHP JSONHTML JSON JSONP

JS frente a jQuery

Selectores jQuery HTML de jQuery CSS de jQuery DOM de jQuery

Gráficos JS

Gráficos JS Lienzo JS JS Trazado Gráfico JS.js Gráfico de Google JS JS D3.js

Ejemplos de JS

Ejemplos de JS JS HTML DOM Entrada HTML JS Objetos JS HTML Eventos JS HTML Navegador JS Editor JS Ejercicios JS Prueba JS Certificado JS

Referencias JS

Objetos JavaScript Objetos HTML DOM


Objetos JavaScript


En JavaScript, los objetos son los reyes. Si entiendes los objetos, entiendes JavaScript.


En JavaScript, casi "todo" es un objeto.

  • Los booleanos pueden ser objetos (si se definen con la newpalabra clave)
  • Los números pueden ser objetos (si se definen con la newpalabra clave)
  • Las cadenas pueden ser objetos (si se definen con la newpalabra clave)
  • Las fechas son siempre objetos.
  • Las matemáticas son siempre objetos.
  • Las expresiones regulares son siempre objetos.
  • Los arreglos son siempre objetos.
  • Las funciones son siempre objetos.
  • Los objetos son siempre objetos.

Todos los valores de JavaScript, excepto los primitivos, son objetos.


Primitivas de JavaScript

Un valor primitivo es un valor que no tiene propiedades ni métodos.

Un tipo de datos primitivo son datos que tienen un valor primitivo.

JavaScript define 5 tipos de tipos de datos primitivos:

  • string
  • number
  • boolean
  • null
  • undefined

Los valores primitivos son inmutables (están codificados y, por lo tanto, no se pueden cambiar).

si x = 3.14, puedes cambiar el valor de x. Pero no puede cambiar el valor de 3.14.

ValorEscribeComentario
"Hola"cuerda"Hola" es siempre "Hola"
3.14número3.14 es siempre 3.14
ciertobooleanola verdad siempre es verdad
falsobooleanofalso siempre es falso
nulonulo (objeto)nulo siempre es nulo
indefinidoindefinidoindefinido es siempre indefinido

Los objetos son variables

Las variables de JavaScript pueden contener valores únicos:

Ejemplo

let person = "John Doe";

Las variables de JavaScript también pueden contener muchos valores.

Los objetos también son variables. Pero los objetos pueden contener muchos valores.

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

Ejemplo

let person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};

Un objeto JavaScript es una colección de valores con nombre

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

Ejemplo

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


Propiedades del objeto

Los valores con nombre, en los objetos de JavaScript, se denominan propiedades .

Propiedad Valor
primer nombre John
apellido Gama
envejecer 50
color de los ojos azul

Los objetos escritos como pares de valor de nombre son similares a:

  • Matrices asociativas en PHP
  • Diccionarios en Python
  • Tablas hash en C
  • Mapas hash en Java
  • Hashes en Ruby y Perl

Métodos de objetos

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

Las propiedades de los objetos pueden ser valores primitivos, otros objetos y funciones.

Un método de objeto es una propiedad de objeto que contiene una definición de función .

Propiedad Valor
primer nombre John
apellido Gama
envejecer 50
color de los ojos azul
nombre completo function() {devuelve este.nombre + " " + este.apellido;}

Los objetos de JavaScript son contenedores de valores con nombre, llamados propiedades y métodos.

Aprenderá más sobre los métodos en los próximos capítulos.


Creación de un objeto de JavaScript

Con JavaScript, puede definir y crear sus propios objetos.

Hay diferentes formas de crear nuevos objetos:

  • Cree un solo objeto, utilizando un objeto literal.
  • Cree un solo objeto, con la palabra clave new.
  • Defina un constructor de objetos y luego cree objetos del tipo construido.
  • Crea un objeto usando Object.create().

Uso de un objeto literal

Esta es la forma más fácil de crear un objeto JavaScript.

Usando un objeto literal, usted define y crea un objeto en una declaración.

Un objeto literal es una lista de pares nombre:valor (como edad:50) dentro de llaves {}.

El siguiente ejemplo crea un nuevo objeto JavaScript con cuatro propiedades:

Ejemplo

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

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

Ejemplo

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

Este ejemplo crea un objeto JavaScript vacío y luego agrega 4 propiedades:

Ejemplo

const person = {};
person.firstName = "John";
person.lastName = "Doe";
person.age = 50;
person.eyeColor = "blue";

Uso de la palabra clave JavaScript new

El siguiente ejemplo crea un nuevo objeto JavaScript usando new Object()y luego agrega 4 propiedades:

Ejemplo

const person = new Object();
person.firstName = "John";
person.lastName = "Doe";
person.age = 50;
person.eyeColor = "blue";

Los ejemplos anteriores hacen exactamente lo mismo.

Pero no hay necesidad de usar new Object().

Para mejorar la legibilidad, la simplicidad y la velocidad de ejecución, utilice el método literal de objeto.


Los objetos de JavaScript son mutables

Los objetos son mutables: se direccionan por referencia, no por valor.

Si person es un objeto, la siguiente declaración no creará una copia de person:

const x = person;  // Will not create a copy of person.

El objeto x no es una copia de la persona. es persona _ Tanto x como persona son el mismo objeto.

Cualquier cambio en x también cambiará de persona, porque x y persona son el mismo objeto.

Ejemplo

const person = {
  firstName:"John",
  lastName:"Doe",
  age:50, eyeColor:"blue"
}

const x = person;
x.age = 10;      // Will change both x.age and person.age