cs/Web/JavaScript/Reference/Global_Objects/Object)
  14. Properties 
    1. [ ` Object.prototype.constructor ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/constructor)
    2. [ ` Object.prototype.__proto__ ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/proto) Deprecated 
  15. Methods 
    1. [ ` Object.prototype.__defineGetter__() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/__defineGetter__) Deprecated 
    2. [ ` Object.prototype.__defineSetter__() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/__defineSetter__) Deprecated 
    3. [ ` Object.prototype.__lookupGetter__() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/__lookupGetter__) Deprecated 
    4. [ ` Object.prototype.__lookupSetter__() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/__lookupSetter__) Deprecated 
    5. [ ` Object.prototype.hasOwnProperty() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwnProperty)
    6. [ ` Object.prototype.isPrototypeOf() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isPrototypeOf)
    7. [ ` Object.prototype.propertyIsEnumerable() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/propertyIsEnumerable)
    8. [ ` Object.prototype.toLocaleString() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toLocaleString)
    9. [ ` Object.prototype.toString() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toString)
    10. [ ` Object.prototype.valueOf() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/valueOf)

##  In this article

  * Description 
  * Static properties 
  * Static methods 
  * Examples 
  * Specifications 
  * Browser compatibility 
  * See also 

#  Intl

The **` Intl ` ** namespace object contains several constructors as well as
functionality common to the internationalization constructors and other
language sensitive functions. Collectively, they comprise the ECMAScript
Internationalization API, which provides language sensitive string comparison,
number formatting, date and time formatting, and more.

##  Description

Unlike most global objects, ` Intl ` is not a constructor. You cannot use it
with the [ ` new ` operator ](/en-
US/docs/Web/JavaScript/Reference/Operators/new) or invoke the ` Intl ` object
as a function. All properties and methods of ` Intl ` are static (just like
the [ ` Math ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math)
object).

The internationalization constructors as well as several language sensitive
methods of other constructors (listed under  See also  ) use a common pattern
for identifying locales and determining the one they will actually use: they
all accept ` locales ` and ` options ` arguments, and negotiate the requested
locale(s) against the locales they support using an algorithm specified in the
` options.localeMatcher ` property.

###  locales argument

The ` locales ` argument is used to determine the locale used in a given
operation. The JavaScript implementation examines ` locales ` , and then
computes a locale it understands that comes closest to satisfying the
expressed preference. ` locales ` may be:

  * ` undefined ` (or omitted): The implementation's default locale will be used. 
  * A locale: A locale identifier or an [ ` Intl.Locale ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale) object that wraps a locale identifier. 
  * A list of locales: Any other value, that will be converted into an object and then treated as an array of locales. 

In the latter two cases, the actual locale used is the best-supported locale
determined by  locale negotiation  . If a locale identifier is not a string or
an object, a [ ` TypeError ` ](/en-
US/docs/Web/JavaScript/Reference/Global_Objects/TypeError) is thrown. If a
locale identifier is a string that's syntactically invalid, a [ ` RangeError `
](/en-US/docs/Web/JavaScript/Reference/Global_Objects/RangeError) is thrown.
I