This document is a section of the web browser standards support document. It includes detailed information about ECMAScript support in major web browsers.
ECMAScript is a language used to access and work with the DOM. It was developed as a standardized base for JavaScript and JScript.
These language constructs are used to control the flow of the program and compare and manipulate information.
| Feature | Opera 8.5 | Opera 9 | 
|---|---|---|
| Types | ||
| Undefined | Y | Y | 
| Null | Y | Y | 
| Boolean | Y | Y | 
| String | Y | Y | 
| Number | Y | Y | 
| Object | Y | Y | 
| Basic expressions | ||
| this | Y | Y | 
| new | Y | Y | 
| Postfix ++ | Y | Y | 
| Postfix -- | Y | Y | 
| , | Y | Y | 
| Unary expressions | ||
| delete | Y | Y | 
| void | Y | Y | 
| typeof | Y | Y | 
| Prefix ++ | Y | Y | 
| Prefix -- | Y | Y | 
| + | Y | Y | 
| - | Y | Y | 
| ~ | Y | Y | 
| ! | Y | Y | 
| Math expressions | ||
| + | Y | Y | 
| - | Y | Y | 
| * | Y | Y | 
| / | Y | Y | 
| % | Y | Y | 
| Relational expressions | ||
| == | Y | Y | 
| != | Y | Y | 
| === | Y | Y | 
| !== | Y | Y | 
| < | Y | Y | 
| > | Y | Y | 
| <= | Y | Y | 
| >= | Y | Y | 
| instanceof | Y | Y | 
| in | Y | Y | 
| Binary expressions | ||
| & | Y | Y | 
| ^ | Y | Y | 
| | | Y | Y | 
| && | Y | Y | 
| || | Y | Y | 
| << | Y | Y | 
| >> | Y | Y | 
| >>> | Y | Y | 
| Assignment expressions | ||
| = | Y | Y | 
| *= | Y | Y | 
| /= | Y | Y | 
| %= | Y | Y | 
| += | Y | Y | 
| -= | Y | Y | 
| <<= | Y | Y | 
| >>= | Y | Y | 
| >>>= | Y | Y | 
| &= | Y | Y | 
| ^= | Y | Y | 
| |= | Y | Y | 
| Statements | ||
| Exp ? Exp : Exp | Y | Y | 
| var | Y | Y | 
| function | Y | Y | 
| if | Y | Y | 
| if ... else | Y | Y | 
| do ... while | Y | Y | 
| while | Y | Y | 
| for | Y | Y | 
| for in | Y | Y | 
| continue | Y | Y | 
| break | Y | Y | 
| return | Y | Y | 
| with | Y | Y | 
| switch | Y | Y | 
| throw | Y | Y | 
| try | Y | Y | 
| catch | Y | Y | 
| finally | Y | Y | 
Objects are groups of related data and methods. The following objects are built into the ECMAScript language.
| Feature | Opera 8.5 | Opera 9 | 
|---|---|---|
| Global | ||
| (General) | Y | Y | 
| NaN | Y | Y | 
| Infinity | Y | Y | 
| undefined | Y | Y | 
| eval() | Y | Y | 
| parseInt() | Y | Y | 
| parseFloat() | Y | Y | 
| isNaN() | Y | Y | 
| isFinite() | Y | Y | 
| decodeURI() | Y | Y | 
| decodeURIComponent() | Y | Y | 
| encodeURI() | Y | Y | 
| encodeURIComponent() | Y | Y | 
| Object | ||
| (General) | Y | Y | 
| constructor | Y | Y | 
| toString() | Y | Y | 
| toLocaleString() | Y | Y | 
| valueOf() | Y | Y | 
| hasOwnProperty() | Y | Y | 
| isPrototypeOf() | Y | Y | 
| prototypeIsEnumerable() | Y | Y | 
| Function | ||
| (General) | Y | Y | 
| prototype | Y | Y | 
| constructor | Y | Y | 
| toString() | Y | Y | 
| apply() | Y | Y | 
| call() | Y | Y | 
| length | Y | Y | 
| Array | ||
| (General) | Y | Y | 
| prototype | Y | Y | 
| constructor | Y | Y | 
| toString() | Y | Y | 
| toLocaleString() | Y | Y | 
| concat() | Y | Y | 
| join() | Y | Y | 
| pop() | Y | Y | 
| push() | Y | Y | 
| reverse() | Y | Y | 
| shift() | Y | Y | 
| slice() | Y | Y | 
| sort() | Y | Y | 
| splice() | Y | Y | 
| unshift() | Y | Y | 
| length | Y | Y | 
| String | ||
| (General) | Y | Y | 
| prototype | Y | Y | 
| fromCharCode() | Y | Y | 
| constructor() | Y | Y | 
| toString() | Y | Y | 
| valueOf() | Y | Y | 
| charAt() | Y | Y | 
| charCodeAt() | Y | Y | 
| concat() | Y | Y | 
| indexOf() | Y | Y | 
| lastIndexOf() | Y | Y | 
| localeCompare() | Y | Y | 
| match() | Y | Y | 
| replace() | Y | Y | 
| search() | Y | Y | 
| slice() | Y | Y | 
| split() | Y | Y | 
| substring() | Y | Y | 
| toLowerCase() | Y | Y | 
| toLocaleLowerCase() | Y | Y | 
| toUpperCase() | Y | Y | 
| toLocaleUpperCase() | Y | Y | 
| length | Y | Y | 
| Boolean | ||
| (General) | Y | Y | 
| prototype | Y | Y | 
| constructor | Y | Y | 
| toString() | Y | Y | 
| valueOf() | Y | Y | 
| Number | ||
| (General) | Y | Y | 
| prototype | Y | Y | 
| MAX_VALUE | Y | Y | 
| MIN_VALUE | Y | Y | 
| NaN | Y | Y | 
| NEGATIVE_INFINITY | Y | Y | 
| POSITIVE_INFINITY | Y | Y | 
| constructor | Y | Y | 
| toString() | Y | Y | 
| toLocaleString() | Y | Y | 
| valueOf() | Y | Y | 
| toFixed() | Y | Y | 
| toExponential() | Y | Y | 
| toPrecision() | Y | Y | 
| Math | ||
| (General) | Y | Y | 
| E | Y | Y | 
| LN10 | Y | Y | 
| LN2 | Y | Y | 
| LOG2E | Y | Y | 
| LOG10E | Y | Y | 
| PI | Y | Y | 
| SQRT1_2 | Y | Y | 
| SQRT2 | Y | Y | 
| abs() | Y | Y | 
| acos() | Y | Y | 
| asin() | Y | Y | 
| atan() | Y | Y | 
| atan2() | Y | Y | 
| ceil() | Y | Y | 
| cos() | Y | Y | 
| exp() | Y | Y | 
| floor() | Y | Y | 
| log() | Y | Y | 
| max() | Y | Y | 
| min() | Y | Y | 
| pow() | Y | Y | 
| random() | Y | Y | 
| round() | Y | Y | 
| sin() | Y | Y | 
| sqrt() | Y | Y | 
| tan() | Y | Y | 
| Date | ||
| (General) | Y | Y | 
| prototype | Y | Y | 
| constructor | Y | Y | 
| toString() | Y | Y | 
| toDateString() | Y | Y | 
| toTimeString() | Y | Y | 
| toLocaleString() | Y | Y | 
| toLocaleDateString() | Y | Y | 
| toLocaleTimeString() | Y | Y | 
| valueOf() | Y | Y | 
| getTime() | Y | Y | 
| getFullYear() | Y | Y | 
| getUTCFullYear() | Y | Y | 
| getMonth() | Y | Y | 
| getUTCMonth() | Y | Y | 
| getDate() | Y | Y | 
| getUTCDate() | Y | Y | 
| getDay() | Y | Y | 
| getUTCDay() | Y | Y | 
| getHours() | Y | Y | 
| getUTCHours() | Y | Y | 
| getMinutes() | Y | Y | 
| getUTCMinutes() | Y | Y | 
| getSeconds() | Y | Y | 
| getUTCSeconds() | Y | Y | 
| getMilliseconds() | Y | Y | 
| getUTCMilliseconds() | Y | Y | 
| getTimezoneOffset() | Y | Y | 
| setTime() | Y | Y | 
| setMilliseconds() | Y | Y | 
| setUTCMilliseconds() | Y | Y | 
| setSeconds() | Y | Y | 
| setUTCSeconds() | Y | Y | 
| setMinutes() | Y | Y | 
| setUTCMinutes() | Y | Y | 
| setHours() | Y | Y | 
| setUTCHours() | Y | Y | 
| setDate() | Y | Y | 
| setUTCDate() | Y | Y | 
| setMonth() | Y | Y | 
| setUTCMonth() | Y | Y | 
| setFullYear() | Y | Y | 
| setUTCFullYear() | Y | Y | 
| toUTCString() | Y | Y | 
| RegExp | ||
| (General) | Y | Y | 
| prototype | Y | Y | 
| constructor | Y | Y | 
| exec() | Y | Y | 
| test() | Y | Y | 
| toString() | Y | Y | 
| source | Y | Y | 
| global | Y | Y | 
| ignoreCase | Y | Y | 
| multiline | Y | Y | 
| lastIndex | Y | Y | 
| Error | ||
| (General) | Y | Y | 
| prototype | Y | Y | 
| constructor | Y | Y | 
| name | Y | Y | 
| message | Y | Y | 
| toString() | Y | Y |