ECMAScript Standart Yerleşik Nesneleri (ECMAScript Standard Built-in Objects)
Bir ECMAScript Script'i veya Module'ü yürütülmeye başladığında her zaman kullanılabilir olan belirli yerleşik nesneler (built-in objects) vardır. Bunlardan biri olan global nesne (global object), yürütülen programın global ortamının bir parçasıdır. Diğerlerine ise global nesnenin (global object) başlangıç özellikleri olarak veya dolaylı olarak erişilebilir durumdaki yerleşik nesnelerin özellikleri olarak erişilebilir.
Aksi belirtilmedikçe, bir işlev (function) olarak çağrılabilen yerleşik bir nesne, 10.3 içinde açıklanan özelliklere sahip yerleşik bir işlev nesnesidir (function object). Aksi belirtilmedikçe, yerleşik bir nesnenin [[Extensible]] dahili yuvası (internal slot) başlangıçta true değerine sahiptir. Her yerleşik işlev nesnesinin (function object), değeri nesnenin başlangıçta oluşturulduğu bölgeye (realm) ait Realm Kaydı (Realm Record) olan bir [[Realm]] dahili yuvası (internal slot) vardır.
Birçok yerleşik nesne işlevdir (function): argümanlarla çağrılabilirler. Bunların bazıları ayrıca yapıcılardır (constructors): new işleci (operator) ile kullanılmak üzere tasarlanmış işlevlerdir. Bu şartname, her bir yerleşik işlev için o işlevin gerektirdiği argümanları ve söz konusu işlev nesnesinin (function object) özelliklerini açıklar. Ayrıca bu şartname, her bir yerleşik yapıcı (constructor) için o yapıcının (constructor) prototip nesnesinin (prototype object) özelliklerini ve o yapıcıyı (constructor) çağıran bir new ifadesi tarafından döndürülen belirli nesne örneklerinin (object instances) özelliklerini açıklar.
Belirli bir işlevin açıklamasında aksi belirtilmedikçe, yerleşik bir işleve veya yapıcıya (constructor) işlevin gerektirdiği belirtilen miktardan daha az argüman verilirse, işlev veya yapıcı (constructor), her biri undefined değerine sahip yeterli sayıda ek argüman verilmiş gibi davranır. Bu tür eksik argümanlar “mevcut değil (not present)” olarak kabul edilir ve şartname algoritmaları tarafından bu şekilde tanımlanabilir. Belirli bir işlevin açıklamasında geçen “this değeri” ve “NewTarget” terimleri, 10.3 içinde verilen anlamlara sahiptir.
Belirli bir işlevin açıklamasında aksi belirtilmedikçe, tanımlanan yerleşik bir işleve veya yapıcıya (constructor) işlevin izin verdiği belirtilen miktardan daha fazla argüman verilirse, fazladan argümanlar çağrı tarafından değerlendirilir ve ardından işlev tarafından göz ardı edilir. Ancak bir gerçekleştirim, salt fazladan bir argümanın varlığına dayanan bir TypeError istisnası fırlatılmaması koşuluyla, bu tür argümanlarla ilgili gerçekleştirime özgü (implementation-specific) davranışlar tanımlayabilir.