Objetos Globais
===============

Resumo
------

Este capítulo documenta todos os objetos nativos do JavaScript padrão, assim como seus métodos e propriedades.

O termo "objetos globais" (ou objetos nativos por padrão) aqui não deve ser confundido com o de **objeto global**. Aqui, objetos globais se referem aos **objetos no escopo global** (somente se o modo estrito/*strict mode* do ECMAScript 5 não for usado; Nesse caso retorna `undefined`). O **objeto global** pode ser acessado usando o operador `this` no escopo global. De fato, o escopo global **consiste em** propriedades do objeto global, incluindo propriedades herdadas, se houver.

Outros objetos no escopo global também são criados pelo desenvolvedor ou fornecido pela aplicação *host*. Os objetos disponíveis no *host* no contexto do browser são documentados na API reference (en-US). Para maiores informações sobre as distinções entre DOM (en-US) e core JavaScript, veja visão geral das tecnologias JavaScript.

Objetos padrão (por categoria)
------------------------------

### Propriedades de valor

Propriedades globais retornam um valor simples; eles não tem propriedades ou métodos.

* `Infinity`
* `NaN`
* `undefined`
* `null` literal
### Propriedades de função

Estas funções globais —funções que são chamadas globalmente ao invés de em um objeto—retornam diretamente seus resultados a quem chama.

* `eval()`
* `uneval()` 
Non-standard
* `isFinite()`
* `isNaN()`
* `parseFloat()`
* `parseInt()`
* `decodeURI()`
* `decodeURIComponent()`
* `encodeURI()`
* `encodeURIComponent()`
* `escape()` 
Deprecated
* `unescape()` 
Deprecated
### Objetos fundamentais

Estes são objetos básicos e fundamentais nos quais todos os outros objetos são baseados. Isso inclui objetos que representam objetos genéricos, funções e erros.

* `Object`
* `Function`
* `Boolean`
* `Symbol` 
Experimental
* `Error`
* `EvalError`
* `InternalError`
* `RangeError` (en-US)
* `ReferenceError`
* `StopIteration`
* `SyntaxError` (en-US)
* `TypeError`
* `URIError` (en-US)
### Números e datas

Estes são objetos base para a representação de números, datas e cálculos matemáticos.

* `Number`
* `Math`
* `Date`
### Processamento de texto

Estes objetos representam strings e manipulam as mesmas.

* `String`
* `RegExp`
### Coleções indexadas

Estes objetos representam coleções de dados que são ordenados pelo valor de um índice. Isso inclui arrays (tipados) e arrays baseados em outros construtores, como `[]`.

* `Array`
* `Float32Array` (en-US)
* `Float64Array` (en-US)
* `Int16Array` (en-US)
* `Int32Array` (en-US)
* `Int8Array` (en-US)
* `Uint16Array` (en-US)
* `Uint32Array` (en-US)
* `Uint8Array` (en-US)
* `Uint8ClampedArray` (en-US)
* `ParallelArray` 
Non-standard
### Coleções chaveadas

Estes objetos representam coleções que usam chaves; estas contém elementos que são iteráveis na ordem de inserção.

* `Map` 
Experimental
* `Set` 
Experimental
* `WeakMap` 
Experimental
* `WeakSet` 
Experimental
### Dados estruturados

Estes objetos representam e interagem com buffers de dados estruturados e dados codificados usando JavaScript Object Notation (JSON).

* `ArrayBuffer`
* `DataView`
* `JSON`
### Controle de abstrações de objetos

* `Promise` 
Experimental
* `Generator` 
Experimental
* `GeneratorFunction` (en-US) 
Experimental
### Reflexão (reflection)

* `Reflect` 
Experimental
* `Proxy` 
Experimental
### Internacionalização

Adições ao core do ECMAScript para funcionalidades sensíveis à linguagem.

* `Intl`
* `Intl.Collator` (en-US)
* `Intl.DateTimeFormat` (en-US)
* `Intl.NumberFormat`
### Objetos não-padrão

* `Iterator` (en-US) 
Non-standard
* `ParallelArray` 
Non-standard
* `StopIteration` 
Non-standard
### Outros

* `arguments` (en-US)