O que é o construtor Object() e quando você deve usá-lo?
Em JavaScript, um construtor é um tipo especial de função usada para criar e inicializar objetos. Ele é invocado com a palavra-chave
new e pode inicializar propriedades e métodos no objeto recém-criado.
In this lesson, we will take a look at how to work with the Object() constructor. O construtor Object() cria um novo objeto vazio. Aqui está um exemplo:
new Object()
Quando você chama new Object(), ele retorna um novo objeto que pode ser usado para armazenar valores.
O construtor Object() pode ser usado com ou sem a palavra-chave new. Quando chamado como uma função sem new, ele se comporta de maneira diferente dependendo do tipo de valor passado para ele. Aqui está um exemplo de uso do construtor Object() sem a palavra-chave new:
const num = 42;
const numObj = Object(num); // Creates an object wrapper for the number
console.log(numObj);
console.log(typeof numObj); // "object"
Como você pode ver no segundo console.log, numObj é um objeto. Isso está acontecendo porque usamos o construtor Object() para transformar aquela entrada de número em um objeto.
O que acontece se tentarmos passar null ou undefined para o construtor Object()?
const newObj = new Object(undefined);
console.log(newObj); // {}
Bem, o resultado será um objeto vazio. Outro caso de uso para o construtor Object() é quando você está trabalhando com um valor de tipo desconhecido e precisa garantir que ele seja um objeto. Vamos dar uma olhada no seguinte exemplo:
function toObject(value) {
if (value === null || value === undefined) {
return {};
}
if (typeof value === "object") {
return value;
}
return Object(value);
}
console.log(toObject(null));
console.log(toObject(true));
console.log(toObject([1, 2, 3]));
Neste exemplo, temos uma função chamada toObject. A segunda condição verificará se o valor é um tipo de objeto e retornará o valor se a condição for true. Esta condição verificará objetos e também arrays, já que arrays são tipos especiais de objetos.
Se nenhuma das condições for verdadeira, a função retorna Object(value), que converte a entrada em um objeto. Isso funciona para valores como números, strings e booleans
Na maioria das vezes você não usará o construtor Object() para criar novos objetos porque usará a sintaxe literal de objeto em vez disso (por exemplo, const objectLiteral = { name: "Beau" }). Mas ainda é bom entender o básico de trabalhar com o construtor Object.Este módulo não possui perguntas. Marque como concluído.