Hay muy pocas formas de crear un objeto en JavaScript.
Probablemente esta sea la forma más rápida y sencilla de crear un objeto en JavaScript. Esto también se denomina inicializador de objeto y es una lista delimitada por comas de cero o más pares de nombres de propiedades y valores asociados de un objeto, encerrados entre llaves ({}).
const newObject = {} // Simply create a new empty object const newObject = { someKey: "someValue", anotherKey: "anotherValue" }
Los valores de los objetos pueden ser tipos de datos primitivos u otros objetos.
Puedes crear un objeto usando el constructor de objetos integrado.
Si el valor pasado es nulo o indefinido o no se pasa ningún valor, crea y devuelve un objeto vacío.
Si el valor ya es un objeto, devuelve el mismo valor.
// below options create and return an empty object const ObjWithNoValue = new Object(); const ObjWithUndefined = new Object(undefined); const ObjWithNull = new Object(null); const newObject = { someKey: "someValue", anotherKey: "anotherValue" } const sameObject = new Object(someObject); sameObject['andAnotherKey'] = "one another value"; sameObject === newObject; // both objects are same.
Este método te permite crear un nuevo objeto con un prototipo específico. Este enfoque permite que el nuevo objeto herede propiedades y métodos del prototipo, lo que facilita un comportamiento similar a la herencia.
const person = { greet: function () { console.log(`Hello ${this.name || 'Guest'}`); } } const driver = Object.create(person); driver.name = 'John'; driver.greet(); // Hello John
Antes de ES6, este era un método común para crear múltiples objetos similares. Constructor no es más que una función y con la ayuda de una nueva palabra clave puedes crear un objeto.
Es una buena práctica poner en mayúscula el primer carácter del nombre de una función cuando construyes el objeto con la palabra clave "nueva".
function Person(name, location) { this.name = name; this.location = location; greet() { console.log(`Hello, I am ${this.name || 'Guest'} from ${this.location || 'Earth'}`); } } const alex = new Person('Alex'); alex.greet(); // Hello, I am Alex from Earth const sam = new Person('Sam Anderson', 'Switzerland'); sam.greet(); // Hello, I am Sam Anderson from Switzerland
Un enfoque más moderno ayuda a crear objetos como otros lenguajes de programación orientada a objetos utilizando clases con función constructora para inicializar propiedades y métodos.
class Person { constructor(name, location) { this.name = name || 'Guest'; this.location = location || 'Earth'; } greet() { console.log(`Hello, I am ${this.name} from ${this.location}`); } } const santa = new Person('Santa'); santa.greet(); // Hello, I am Santa from Earth
Referencias:
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