ES6 - Número

O objeto Number representa a data numérica, inteiros ou números de ponto flutuante. Em geral, você não precisa se preocupar com objetos Number porque o navegador converte automaticamente os literais de número em instâncias da classe de número.

A seguir está a sintaxe para criar um objeto numérico.

var val = new Number(number);

No lugar de number, se você fornecer qualquer argumento não numérico, o argumento não pode ser convertido em um number, ele retorna NaN (Não é um número).

Propriedades do número

Sr. Não Descrição da Propriedade
1 Number.EPSILON

O menor intervalo entre dois números representáveis.

2 Number.MAX_SAFE_INTEGER

O número inteiro seguro máximo em JavaScript (2 ^ 53 - 1).

3 Number.MAX_VALUE

O maior número representável positivo.

4 MIN_SAFE_INTEGER

O número inteiro seguro mínimo em JavaScript (- (2 ^ 53 - 1)).

5 Number.MIN_VALUE

O menor número representável positivo - isto é, o número positivo mais próximo de zero (sem realmente ser zero)

6 Number.Nan

Valor especial "não é um número"

7 Number.NEGATIVE_INFINITY

Valor especial representando infinito negativo; retornou em estouro

8 Number.POSITIVE_INFINITY

Valor especial representando infinito; retornou em estouro

9 Number.prototype

Valor especial representando infinito; retornou em estouro

Métodos Numéricos

Sr. Não Método e Descrição
1 Number.isNaN ()

Determina se o valor passado é NaN.

2 Number.isFinite ()

Determina se o valor passado é um número finito.

3 Number.isInteger ()

Determina se o valor passado é um número inteiro.

4 Number.isSafeInteger ()

Determina se o valor passado é um número inteiro seguro (número entre - (253 - 1) e 253 - 1)

5 Number.parseFloat ()

O valor é o mesmo que parseFloat () do objeto global

6 Number.parseInt ()

O valor é o mesmo que parseInt () do objeto global

Métodos de número de instâncias

O objeto Number contém apenas os métodos padrão que fazem parte da definição de cada objeto.

Sr. Não Método e descrição da instância
1 toExponential ()

Retorna uma string que representa o número em notação exponencial

2 toFixed ()

Retorna uma string que representa o número em notação de ponto fixo

3 toLocaleString ()

Retorna uma string com uma representação sensível ao idioma deste número

4 toPrecision ()

Retorna uma string que representa o número com uma precisão especificada em notação de ponto fixo ou exponencial

5 para sequenciar()

Retorna uma string que representa o objeto especificado na raiz especificada (base)

6 valor de()

Retorna o valor primitivo do objeto especificado.

Literais binários e octais

Antes do ES6, sua melhor aposta quando se trata de representação binária ou octal de inteiros era apenas passá-los para parseInt () com a raiz. No ES6, você pode usar o prefixo 0b e 0o para representar literais inteiros binários e octais, respectivamente. Da mesma forma, para representar um valor hexadecimal, use o0x prefixo.

O prefixo pode ser escrito em maiúsculas ou minúsculas. No entanto, sugere-se manter a versão em minúsculas.

Example − Binary Representation

console.log(0b001) 
console.log(0b010) 
console.log(0b011) 
console.log(0b100)

A seguinte saída é exibida na execução bem-sucedida do código acima.

1 
2 
3 
4

Example − Octal Representation

console.log(0o010)
console.log(0o100)

A seguinte saída é exibida na execução bem-sucedida do código acima.

8
64

Example − Hexadecimal Representation

console.log(0o010)
console.log(0o100)

A seguinte saída é exibida na execução bem-sucedida do código acima.

255
384

Extensão literal do objeto

ES6 apresenta a seguir syntax changes na declaração de literais de objeto.

  • Sintaxe do inicializador de propriedade do objeto
  • Sintaxe de propriedades computadas
  • Sintaxe de método concisa

Inicializador de propriedade de objeto

Dentro object property initializer syntax, podemos inicializar um objeto diretamente com variáveis. Isso criará atributos com o mesmo nome das variáveis.

<script>
   let firstName = 'Tutorials',lastName='Point'
   let company = {
      firstName,
      lastName
   }
   console.log(company)
   console.log(company.firstName)
   console.log(company.lastName)
</script>

A saída do código acima será conforme fornecido abaixo -

{firstName: "Tutorials", lastName: "Point"}
Tutorials
Point

Propriedades Computadas

Dentro computed properties syntaxa propriedade do objeto pode ser criada dinamicamente a partir de variáveis. No exemplo a seguir, uma variável com o nomesuffix é usado para calcular o company objeto.

<script>
   let suffix = 'Name'
   let company = {
      ['first'+suffix]:'Tutorials',
      ['last'+suffix]:'Point'
   }
   console.log(company)
   console.log(company['firstName'])
   console.log(company['lastName'])
</script>

A saída do código acima será conforme mostrado abaixo -

{firstName: "Tutorials", lastName: "Point"}
Tutorials
Point

Dentro Concise method syntax podemos usar e declarar um método diretamente sem o uso de functionpalavra-chave. Esta é uma sintaxe simplificada para incluir funções em literais de objeto.

<script>
   let firstName = 'Tutorials',lastName='Point'
   let company = {
      firstName,
      lastName,
      getFullName(){
         return this.firstName+" - "+this.lastName
      }
   }
   console.log(company.getFullName())
   console.log(company)
</script>

A saída do código acima será conforme mencionado abaixo -

Tutorials - Point
{firstName: "Tutorials", lastName: "Point", getFullName: ƒ}