English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial básico do JavaScript

Objeto do JavaScript

Função do JavaScript

DOM HTML JS

BOM do navegador JS

Tutorial básico de AJAX

Manual de referência do JavaScript

Construtor do Objeto do JavaScript

Nos capítulos anteriores, aprendemos como criar objetos em JavaScript.

Os exemplos dos primeiros capítulos são limitados. Eles apenas criam um único objeto.

Às vezes, precisamos de um “modelo” para criar muitos objetos do mesmo tipo (exemplo).

Criar "modelos" é usar}}Construtor de objetos.

umConstrutor de objetosÉ fácil criar múltiplos objetos (exemplos) com as mesmas propriedades e métodos.

No exemplo a seguir, function User() é um construtor de objeto:

  function User(fname, lname, age, loc) {
   this.firstName = fname;
   this.lastName = lname;
   this.age = age;
   this.location = loc;
  }

Para criar objetos do mesmo tipo usando a chamada do construtor com a palavra-chave new:

var Seagull = new User("Seagull", "Anna", 22, "New Delhi");
var tarush = new User("Tarush", "Balodhi", 34, "Bihar");
Teste e veja‹/›

Como você pode ver, podemos rapidamente construir muitos objetos diferentes do tipo User, usando diferentes argumentos na chamada do construtor User. Isso é completamente idêntico ao padrão usado pelo JavaScript em seus construtores integrados (como Array() e Date()).

thisPalavra-chave

JavaScript tem uma palavra-chave especial chamada this, que você pode usar em métodos para se referir ao objeto atual.

Quando this é usado no objeto, seu valor é o próprio objeto.

No construtor, this não tem valor. Ele substitui o novo objeto. Quando um novo objeto é criado, o valor de this será o novo objeto.

Adicionar propriedades a um objeto

Para adicionar novas propriedades a um objeto, você pode usar o operador de atribuição (=) para atribuir um novo valor à propriedade.

Seagull.weapon = "Sword";
Teste e veja‹/›

Atenção:Esta propriedade será adicionada ao Seagull. Não o faça. (Não se aplica a nenhum outro objeto User).

Adicionar métodos a um objeto

Para adicionar novos métodos a um objeto, você pode usar o operador de atribuição (=) para atribuir uma nova função à propriedade.

Seagull.greet = function() {
return "Hello World";
};
Teste e veja‹/›

Atenção:Este método será adicionado ao Seagull (não aponta para nenhum outro objeto User).

Adicionar propriedades ao construtor

Não podemos adicionar novas propriedades ao construtor da mesma forma que adicionamos novas propriedades a um objeto existente:

User.weapon = "Sword";
Teste e veja‹/›

Para adicionar novas propriedades a um construtor, deve-se adicioná-las ao construtor:

function User(fname, lname, age, loc) {
   this.firstName = fname;
   this.lastName = lname;
   this.age = age;
   this.location = loc;
   this.weapon = "Sword";
}
Teste e veja‹/›

Às vezes, gostaríamos de adicionar novas propriedades a um construtor mais tarde, que será compartilhado entre todos os objetos (exemplos). A resposta éObject prototype.

Adicionar métodos ao construtor

O construtor também pode definir métodos.

NósNão pode ser comoDa mesma forma que se adiciona um novo método a um objeto existente, adiciona-se um novo método ao construtor.

Adicionar métodos a um objeto deve ser feito dentro do construtor.

function User(fname, lname, age, loc) {
   this.firstName = fname;
   this.lastName = lname;
   this.age = age;
   this.location = loc;
   this.fullName = function() {
   return this.firstName + " " + this.lastName;
   };
}
Teste e veja‹/›

Sometimes we want to add new methods to the constructor later, which will be shared among all objects (examples). The answer isObject prototype.

JavaScript built-in constructors

JavaScript has the following built-in constructors for native objects:

let x1 = new String(); //A new String object.
let x2 = new Number(); //A new number object.
let x3 = new Boolean(); //A new boolean object.
let x4 = new Object(); //A new Object object.
let x5 = new Array(); //A new Array object.
let x6 = new RegExp(); //A new RegExp object.
let x7 = new Date(); //A new date object.
let x8 = new Function(); //A new function object.
Teste e veja‹/›

Do not declare Number, String, or Boolean as objects

As you can see above, JavaScript has primitive data types with objects such as String, Number, and Boolean.

We have no reason to create complex objects. Because primitive values are much faster.

Always consider numbers, strings, or booleans as primitive values. Do not treat them as objects.

Declaring these types as objects will slow down execution and produce unexpected results.

var str1 = "New Delhi";
var str2 = new String("New Delhi");
document.write(str1 === str2); // returns an error because str1and str2With different types
Teste e veja‹/›

Cannot compare objects:

var str1 = new String("New Delhi");
var str2 = new String("New Delhi");
document.write(str1 == str2); // returns an error because str1and str2With different types
document.write(str1 === str2); // returns an error because str1and str2With different types
Teste e veja‹/›

You can also do this:

  • Use {} instead of new Object()

  • Use "" instead of new String()

  • Use 0 instead of new Number()

  • Use false instead of new Boolean()

  • Use [] instead of new Array()

  • Use/();/instead of new RegExp()

  • Use function (){} instead of new Function()

let x1 ={};
let x2 "";
let x3 0;
let x4 false;
let x5 [];
let x6 = /();/;
let x7 function(){};
Teste e veja‹/›

Primitivos de strings e objetos de strings

Normalmente, as strings do JavaScript são valores primitivos criados por litterais: var city = "New Delhi";.

Mas também pode usar a palavra-chave new para definir strings como objetos: var city = new String("New Delhi");.

Em " Strings JS Em um capítulo, entenda por que não deve criar strings como objetos.

Primitivos numéricos e objetos numéricos

Normalmente, os números do JavaScript são valores primitivos criados por litterais: var num = 50);.

Mas também pode usar a palavra-chave new para definir números como objetos: var num = new Number("0");.50);.

Em " Números JS Em um capítulo, entenda por que não deve criar números como objetos.

Primitivos booleanos e objetos booleanos

Normalmente, os valores booleanos do JavaScript são valores primitivos criados por litterais: var x = false;.

Mas também pode usar a palavra-chave new para definir booleanos como objetos: var x = new Boolean(false);.

Em " Booleanos JS Em um capítulo, entenda por que não deve criar valores booleanos como objetos.