O método JavaScript Object.create () cria um novo objeto usando o protótipo de um determinado objeto.
A sintaxe do create()
método é:
Object.create(proto, propertiesObject)
O create()
método, sendo um método estático, é chamado usando o Object
nome da classe.
Create () Parâmetros
O create()
método inclui:
- proto - O objeto que deve ser o protótipo do objeto recém-criado.
- propertiesObject (opcional) - Um objeto cujas próprias propriedades enumeráveis especificam descritores de propriedade a serem adicionados ao objeto recém-criado. Essas propriedades correspondem ao segundo argumento de
Object.defineProperties()
.
Valor de retorno de create ()
- Retorna um novo objeto com o objeto de protótipo especificado e propriedades.
Observação: se proto não for null
ou Object
, TypeError
será lançado.
Exemplo: usando Object.create ()
let Animal = ( isHuman: false, sound: "Unspecified", makeSound() ( console.log(this.sound); ), ); // create object from Animal prototype let snake = Object.create(Animal); snake.makeSound(); // Unspecified // properties can be created and overridden snake.sound = "Hiss"; snake.makeSound(); // Hiss // can also directly initialize object properties with second argument let properties = ( isHuman: ( value: true, ), name: ( value: "Jack", enumerable: true, writable: true, ), introduce: ( value: function () ( console.log(`Hey! I am $(this.name).`); ), ), ); human = Object.create(Animal, properties); human.introduce(); // Hey! I am Jack.
Resultado
Hiss não especificado Ei! Eu sou Jack.
Leitura recomendada: Javascript Object isPrototypeOf ()