Literales de objeto
Notación abreviada de propiedades
ES6 permite que las propiedades de un objeto se escriban directamente como variables; en este caso, el nombre de la propiedad es el nombre de la variable y el valor de la propiedad es el valor de la variable.
Los nombres de métodos también se pueden abreviar
Si es una función Generator, se debe agregar un asterisco delante:
Expresiones como nombres de propiedades
ES6 permite usar expresiones como nombres de propiedades, pero la expresión debe estar entre corchetes.
Nota: la notación abreviada de propiedades y las expresiones como nombres de propiedades no se pueden usar al mismo tiempo; de lo contrario, se producirá un error.
Operador de extensión de objetos
El operador de extensión (...) se usa para extraer todas las propiedades enumerables del objeto parámetro y copiarlas al objeto actual.
Uso básico
Se puede usar para fusionar dos objetos
Notas
Cuando las propiedades personalizadas y las propiedades del objeto del operador de extensión son iguales:Si las propiedades personalizadas están después del operador de extensión, las propiedades con el mismo nombre dentro del objeto del operador de extensión serán sobrescritas.
Si las propiedades personalizadas están antes del operador de extensión, se convierten en el establecimiento de valores de propiedad predeterminados para el nuevo objeto.
Si después del operador de extensión hay un objeto vacío, no tiene ningún efecto ni produce errores.
Si después del operador de extensión hay null o undefined, no tiene ningún efecto ni produce errores.
Nuevos métodos de objetos
Object.assign(target, source_1, ···)
Se utiliza para copiar todas las propiedades enumerables de los objetos de origen al objeto de destino.
Uso básico
- Si el objeto de destino y los objetos de origen tienen propiedades con el mismo nombre, o si varios objetos de origen tienen propiedades con el mismo nombre, las propiedades posteriores sobrescribirán a las anteriores.
- Si la función tiene un solo parámetro, cuando el parámetro es un objeto, devuelve directamente ese objeto; cuando el parámetro no es un objeto, primero convierte el parámetro en un objeto y luego lo devuelve.
Debido a que null y undefined no se pueden convertir en objetos, se producirá un error:
Notas
La copia de propiedades de assign es una copia superficial:
Reemplazo de propiedades con el mismo nombre
Tratamiento de arreglos
Los arreglos se tratan como objetos, por lo que primero se convierte [2,3] en {0:2,1:3}, y luego se realiza la copia de propiedades; por lo tanto, la propiedad 0 del objeto de origen sobrescribe la propiedad 0 del objeto de destino.
Object.is(value1, value2)
Se utiliza para comparar si dos valores son estrictamente iguales, básicamente similar a (===).
Uso básico
Uso básico
Diferencias con (===)