"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Accesores de propiedad

Accesores de propiedad

Publicado el 2024-11-04
Navegar:985

Property accessors

Comprensión de los descriptores de acceso a propiedades en JavaScript

En JavaScript, los descriptores de acceso a propiedades son mecanismos que le permiten acceder a las propiedades de un objeto. Hay dos formas principales de hacer esto: notación de puntos y notación de corchetes.

Notación de puntos

La notación de puntos es la forma más común de acceder a las propiedades. Simplemente use un punto (.) seguido del nombre de la propiedad.

Notación entre corchetes

La notación entre corchetes es útil cuando el nombre de la propiedad es dinámico o no es un identificador válido (por ejemplo, contiene espacios o caracteres especiales). Utilice corchetes ([]) y pase el nombre de la propiedad como una cadena

Creando objetos en JavaScript

El lenguaje proporciona una sintaxis conocida como notación literal de objetos para crear objetos rápidamente. Los literales de objetos se indican mediante llaves. El siguiente ejemplo crea un objeto vacío sin propiedades.

var animal = {};

Dentro de las llaves, las propiedades y sus valores se especifican como una lista de pares clave/valor.
Las claves pueden ser cadenas o identificadores, mientras que los valores pueden ser cualquier expresión válida. La lista de pares clave/valor está delimitada por comas, con cada clave y valor separados por dos puntos.

El siguiente ejemplo crea un objeto con tres propiedades usando notación literal.

La primera propiedad, animal, tiene el número uno.
La segunda propiedad, delfín, se especifica mediante una cadena y también almacena un valor de cadena. La tercera propiedad, mamífero, almacena un objeto vacío.

var animal = {
  dolphin: 1,
  "swim": "some string",
  mammal: {
  }
};

Cada propiedad se ha escrito en una línea separada y con sangría. El objeto completo podría haberse escrito en una sola línea, pero el código es más legible en este formato. Esto es especialmente cierto para objetos con muchas propiedades u objetos anidados.

JavaScript proporciona dos notaciones para acceder a las propiedades de los objetos.

La primera, y la más común, se conoce como notación de puntos.
Bajo la notación de puntos, se accede a una propiedad dando el nombre del objeto host, seguido de un punto (o punto), seguido del nombre de la propiedad.

Notación de puntos

La notación de puntos es la forma más común de acceder a las propiedades. Simplemente use un punto (.) seguido del nombre de la propiedad. Por ejemplo:

El siguiente ejemplo muestra cómo se utiliza la notación de puntos para leer y escribir en una propiedad. Si objeto.delfín
Inicialmente tenía el valor uno, luego su valor se convertiría en dos después de ejecutar esta declaración.

  • Tenga en cuenta que si animal.dolphon aún no tuviera un valor, entonces no estaría definido.
animal.dolphin = animal.dolphin   1;

La sintaxis para acceder a las propiedades del objeto se conoce como notación entre corchetes. En notación entre corchetes , el nombre del objeto va seguido de un conjunto de corchetes .
Dentro de los corchetes, el nombre de la propiedad se especifica como una cadena.
El ejemplo anterior de notación de puntos se ha reescrito a continuación para utilizar notación entre corchetes. Si bien el código puede verse diferente, es funcionalmente equivalente al ejemplo anterior.

object["dolphin"] = object["dolphin"]   1;

La notación entre corchetes es más expresiva que la notación de puntos porque permite que una variable especifique todo o parte del nombre de la propiedad.
Esto es posible porque el intérprete de JavaScript convierte automáticamente la expresión entre corchetes en una cadena y luego recupera la propiedad correspondiente .

El siguiente ejemplo muestra cómo se pueden crear nombres de propiedades sobre la marcha usando notación entre corchetes. En el ejemplo, el nombre de propiedad foo se crea concatenando el contenido de la variable d con la cadena "dolphin".

var d = "d";

object[d   "dolphin"] = "bar";

La notación entre corchetes también permite que los nombres de propiedades contengan caracteres que están prohibidos en la notación de puntos.
Por ejemplo, la siguiente afirmación es completamente legal entre paréntesis. Sin embargo, si intenta crear el mismo nombre de propiedad en notación de puntos, encontrará un error de sintaxis.

object["!@#$%^&*()."] = true;

Accediendo a propiedades anidadas

Se puede acceder a las propiedades de los objetos anidados encadenando referencias de puntos y/o corchetes.
Por ejemplo, el siguiente objeto contiene un objeto anidado llamado delfín, que contiene otro objeto llamado mamífero, que tiene una propiedad llamada años que tiene el valor uno.

var animal = {
  dolphin: {
    mammal: {
      years: 1
    }
  }
};

Las siguientes expresiones acceden a la propiedad anidada, años. La primera expresión usa notación de punto , mientras que la segunda expresión usa notación de corchete .
La tercera expresión combina ambas notaciones para lograr el mismo resultado.

animal.dolphin.mammal.lungs;
animal["dolphin"]["mammal"]["years"];
animal["dolphin"].mammal["years"];

Expresiones como las que se muestran en el ejemplo anterior pueden afectar el rendimiento si se usan incorrectamente.
Evaluar cada expresión de punto o corchete lleva tiempo.

Si la misma propiedad se usa varias veces, entonces tiene más sentido acceder a la propiedad una vez y luego almacenar el valor en una variable local para todos los usos futuros. El siguiente ejemplo utiliza bar muchas veces dentro de un bucle. Sin embargo, en lugar de perder tiempo calculando el mismo valor una y otra vez, la barra se almacena en una variable local.

var years = animal.dolphin.mammal.years;
var count = 0;

for (var i = 0; i 



Funciones como métodos

Cuando una función se utiliza como propiedad de un objeto, se llama método. Al igual que las propiedades, los métodos también se pueden especificar en notación literal de objeto. El siguiente ejemplo muestra cómo se logra esto.

var animal = {
  sum: function(dolphin, years) {
    return dolphin   years;
  }
};

Los métodos también se pueden invocar usando la notación de puntos y corchetes.
El siguiente ejemplo invoca el método sum() del ejemplo anterior usando ambas notaciones.

dolphin.sum(1, 2);
dolphin["sum"](1, 2);

Agregar propiedades y métodos

La notación literal de objetos es útil para crear nuevos objetos, pero no puede agregar propiedades o métodos a objetos existentes.
Afortunadamente, agregar nuevos datos a un objeto es tan simple como crear una declaración de asignación.

El siguiente ejemplo crea un objeto vacío.
Luego se agregan dos propiedades, delfín y mamífero, y un método, años, mediante declaraciones de asignación.
Tenga en cuenta que este ejemplo utiliza notación de puntos, pero notación de corchetes funcionaría igual de bien.

var animal = {};
animal.dolphin = 1;
animal.mammal = null;
animal.years = function() {
  return "I am 5 years()";
};

Resumen
Los objetos son tipos de datos compuestos que se crean a partir de primitivos y otros objetos. Los componentes básicos de un objeto se denominan comúnmente campos o propiedades. Las propiedades se utilizan para describir algún aspecto de un objeto. Por ejemplo, una propiedad puede describir la longitud de una lista, el color de un perro o la fecha de nacimiento de una persona.
Por lo tanto, es fundamental comprender la sintaxis de objetos de JavaScript , ya que sirve como base del lenguaje.
Primero necesitas entender los objetos antes de poder entender la programación orientada a objetos.

  • Notación de puntos: se utiliza cuando los nombres de propiedades son identificadores válidos.
  • Notación entre corchetes: se utiliza cuando los nombres de propiedades son identificadores dinámicos o no válidos. Estos descriptores de acceso son fundamentales en JavaScript para manipular objetos y sus propiedades de manera efectiva.

¡Feliz codificación!

Declaración de liberación Este artículo se reproduce en: https://dev.to/irenejpopova/property-accessors-2dgk?1 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3