Existem algumas maneiras de criar um objeto em JavaScript.
Provavelmente esta é a maneira mais rápida e fácil de criar um objeto em JavaScript. Isso também é chamado de inicializador de objeto, é uma lista delimitada por vírgulas de zero ou mais pares de nomes de propriedades e valores associados de um objeto, entre chaves ({}).
const newObject = {} // Simply create a new empty object const newObject = { someKey: "someValue", anotherKey: "anotherValue" }
Os valores do objeto podem ser do tipo de dados primitivo ou outro objeto.
Você pode criar um objeto usando o construtor Object integrado.
Se o valor passado for nulo ou indefinido ou nenhum valor passado, ele cria e retorna um objeto vazio.
Se o valor já for um objeto, ele retornará o mesmo 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 permite criar um novo objeto com um protótipo específico. Essa abordagem permite que o novo objeto herde propriedades e métodos do protótipo, facilitando um comportamento semelhante ao de herança.
const person = { greet: function () { console.log(`Hello ${this.name || 'Guest'}`); } } const driver = Object.create(person); driver.name = 'John'; driver.greet(); // Hello John
Antes do ES6, esse era um método comum para criar vários objetos semelhantes. O construtor nada mais é do que uma função e com a ajuda de uma nova palavra-chave você pode criar um objeto.
É uma boa prática colocar o primeiro caractere do nome de uma função em maiúscula ao construir o objeto com a palavra-chave "new".
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
Uma abordagem mais moderna ajuda a criar objetos assim como outras linguagens de programação OOP usando classe com função construtora para inicializar propriedades e 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
Referências:
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3