ECMAScript 是基于对象的:基本语言和宿主设施都由对象提供,ECMAScript 程序是一组可通信的对象。ECMAScript 对象 (objects) 是 属性 (properties) 的集合,每个属性有零个或多个 特性 (attributes),它确定怎样使用此属性。例如,当设置一个属性的 Writable 特性为 false 时,任何试图更改此属性值的 ECMAScript 代码的都会运行失败。属性是持有其他 对象 (objects), 原始值 (primitive values), 函数 (functions) 的容器。原始值是以下内置类型之一的成员:Undefined,Null,Boolean,Number,String;对象是剩下的内置类型 Object 的成员;函数是可调用对象 (callable object)。方法 (method) 是通过属性与对象关联的函数。
ECMAScript 定义一组内置对象 (built-in objects),勾勒出 ECMAScript 实体的定义。这些内置对象包括 全局对象 (global object) ,Object 对象 ,Function 对象 ,Array 对象 ,String 对象 ,Boolean 对象 ,Number 对象 ,Math 对象 ,Date 对象 ,RegExp 对象 ,JSON 对象,和 Error 对象: Error ,EvalError ,RangeError ,ReferenceError ,SyntaxError ,TypeError ,URIError 。
ECMAScript 中还定义一组内置运算符 (operators)。ECMAScript 运算符包括 一元运算符 ,乘法运算符 ,加法运算符 ,按位移位运算符 ,关系运算符 ,相等运算符 ,二进制位运算符 ,二进制逻辑运算符 ,赋值运算符 ,逗号运算符。
ECMAScript 语法有意设计成与 Java 语法类似。ECMAScript 的语法是松散的,使其能够作为一个易于使用的脚本语言。例如,一个变量不需要有类型声明,属性也不需要与类型关联,定义的函数也不需要声明在函数调用词句的前面。