Objetos de JavaScript

Objetos, propiedades y métodos en la vida real

En la vida real, un coche es unobjeto.

Los coches tienen atributos como peso y colorpropiedady también tienen métodos como iniciar y detenermétodo:

objeto propiedad método

car.nombre = porsche

car.modelo = 911

car.longitud = 4499mm

car.color = blanco

car.iniciar()

car.conducir()

car.frenar()

car.stop()

Todos los coches tienen los mismospropiedadpero los valores de las propiedades varían según el coche.

Todos los coches tienen los mismosmétodopero los métodos se ejecutarán en diferentes momentos.

Objetos de JavaScript

Como ya has aprendido, las variables JavaScript son contenedores de valores de datos.

Este código asigna unvalorÚnico(porsche) se asigna a una variable llamada carvariable:

var coche = "porsche";

Pruebe personalmente

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

Este código asignavaloresMúltiples(porsche, 911, blanco) se asigna a una variable llamada carvariable:

var coche = {type:"porsche", model:"911", color:"blanco"};

Pruebe personalmente

Los valores senombre: valorescritos en forma de objeto (los nombres y valores están separados por dos puntos).

Los objetos JavaScript sonvaloresNombradoscontenedor.

propiedadesDeObjeto

El nombre: valor de pares en objetos JavaScript se llamapropiedad.

var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};
propiedad valorDePropiedad
nombre Bill
apellido Gates
edad 62
colorOjo azul

métodosDeObjeto

El objeto también puede tenermétodo.

El método se ejecuta en el objetoacción.

El método seDefinición de funciónse almacena en una propiedad.

propiedad valorDePropiedad
nombre Bill
apellido Gates
edad 62
colorOjo azul
fullName function() {return this.firstName + " " + this.lastName;}

El método se almacena como una función de propiedad.

Ejemplo

var person = {
  nombre: "Bill",
  apellido : "Gates",
  id       : 678,
  fullName : function() {
    return this.firstName + " " + this.lastName;
  }
};

palabra clave this

En la definición de la función,this referencia al "poseedor" de la función.

En el ejemplo anterior,this se refiere al "poseedor" de la función fullName. Objeto person.

En otras palabras,this.firstName La palabra "es" Objeto thisla propiedad firstName.

Por favor Palabra clave this de JSEn este capítulo aprenderás más sobre la palabra clave this.

Definición de objeto

Hemos definido (creado) un objeto JavaScript:

Ejemplo

var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};

Pruebe personalmente

Los espacios en blanco y los saltos de línea están permitidos. La definición del objeto puede extenderse a múltiples líneas:

Ejemplo

var person = {
    firstName:"Bill",
    lastName:"Gates",
    age:50,
    eyeColor:"blue"
};

Pruebe personalmente

Acceder a propiedades del objeto

Puedes acceder a las propiedades de dos formas:

objectName.propertyName

o

objectName["propertyName"]

Ejemplo 1

person.lastName;

Pruebe personalmente

Ejemplo 2

person["lastName"];

Pruebe personalmente

Acceder a métodos del objeto

Puedes acceder a los métodos del objeto con la siguiente sintaxis:

objectName.methodName()

Ejemplo

name = person.fullName();

Pruebe personalmente

SiSin usar () Al acceder al método fullName, se devolveráDefinición de función:

Ejemplo

name = person.fullName;

Pruebe personalmente

Los métodos se almacenan realmente como definiciones de funciones en forma de valores de atributos.

¡No declare cadenas de caracteres, números y valores booleanos como objetos!

Si se declara una variable de JavaScript utilizando la palabra clave "new", se creará como un objeto:

var x = new String();        // Declarar x como objeto String
var y = new Number();        // Declarar y como objeto Number
var z = new Boolean();       // Declarar z como objeto Booleano

请避免字符串、数值或逻辑对象。他们会增加代码的复杂性并降低执行速度。

Por favor, evite los objetos de cadena, numéricos o lógicos. Añaden complejidad al código y reducen la velocidad de ejecución.

Usted aprenderá más sobre los objetos en los capítulos posteriores de este tutorial.

libros de texto adicionales Objetos de JavaScriptPara obtener más información sobre

Tecnología orientada a objetos de ECMAScript
Para obtener más información sobre el conocimiento, lea el contenido relevante en los tutoriales avanzados de JavaScript:
Aplicaciones de objetos de ECMAScript
Esta sección ofrece una breve introducción a los términos de tecnología orientada a objetos, los requisitos de un lenguaje orientado a objetos y la estructura de los objetos.
Tipos de objetos de ECMAScript
Esta sección presenta los tres tipos de objetos de ECMAScript: objetos locales, objetos integrados y objetos anfitriones, y proporciona enlaces a manuales de referencia relacionados.
Alcance de objetos de ECMAScript
Esta sección explica el alcance de ECMAScript y la palabra clave this.
Definición de clases o objetos de ECMAScript
Esta sección detalla las diversas formas de crear objetos o clases en ECMAScript.
Modificación de objetos de ECMAScript
Esta sección explica cómo modificar un objeto creando nuevos métodos o redefiniendo métodos existentes.