ECMAScript Coverage on webOS TV Last Updated: 06-NOV-2019
ECMAScript Version Feature Name Specific Feature Name webOS 1.0 webOS 2.0 webOS 3.0 webOS 4.0 Remarks
ECMAScript 5 Object/array literal extensions Getter accessors Supported Supported Supported Supported  
Setter accessors Supported Supported Supported Supported  
Trailing commas in object literals Supported Supported Supported Supported  
Trailing commas in array literals Supported Supported Supported Supported  
Reserved words as property names Supported Supported Supported Supported  
Object static methods Object.create Supported Supported Supported Supported  
Object.defineProperty Supported Supported Supported Supported  
Object.defineProperties Supported Supported Supported Supported  
Object.getPrototypeOf Supported Supported Supported Supported  
Object.keys Supported Supported Supported Supported  
Object.seal Supported Supported Supported Supported  
Object.freeze Supported Supported Supported Supported  
Object.preventExtensions Supported Supported Supported Supported  
Object.isSealed Supported Supported Supported Supported  
Object.isFrozen Supported Supported Supported Supported  
Object.isExtensible Supported Supported Supported Supported  
Object.getOwnPropertyDescriptor Supported Supported Supported Supported  
Object.getOwnPropertyNames Supported Supported Supported Supported  
Array methods Array.isArray Supported Supported Supported Supported  
Array.prototype.indexOf Supported Supported Supported Supported  
Array.prototype.lastIndexOf Supported Supported Supported Supported  
Array.prototype.every Supported Supported Supported Supported  
Array.prototype.some Supported Supported Supported Supported  
Array.prototype.forEach Supported Supported Supported Supported  
Array.prototype.map Supported Supported Supported Supported  
Array.prototype.filter Supported Supported Supported Supported  
Array.prototype.reduce Supported Supported Supported Supported  
Array.prototype.reduceRight Supported Supported Supported Supported  
Array.prototype.sort: compareFn must be function or undefined Not supported Not supported Not supported Not supported  
Array.prototype.sort: compareFn may be explicit undefined Supported Supported Supported Supported  
String properties and methods Property access on strings Supported Supported Supported Supported  
String.prototype.trim Supported Supported Supported Supported  
Date methods Date.prototype.toISOString Supported Supported Supported Supported  
Date.now Supported Supported Supported Supported  
Date.prototype.toJSON Not supported Not supported Supported Supported  
Function.prototype.bind Function.prototype.bind Supported Supported Supported Supported  
JSON JSON Supported Supported Supported Supported  
Immutable globals undefined Supported Supported Supported Supported  
NaN Supported Supported Supported Supported  
Infinity Supported Supported Supported Supported  
Miscellaneous Function.prototype.apply permits array-likes Supported Supported Supported Supported  
parseInt ignores leading zeros Supported Supported Supported Supported  
Function "prototype" property is non-enumerable Supported Supported Supported Supported  
Arguments toStringTag is "Arguments" Supported Supported Supported Supported  
Zero-width chars in identifiers Supported Supported Supported Supported  
Unreserved words Supported Supported Supported Supported  
Enumerable properties can be shadowed by non-enumerables Not supported Not supported Not supported Not supported  
Thrown functions have proper "this" values Supported Supported Supported Supported  
Strict mode reserved words Supported Supported Supported Supported  
"this" is undefined in functions Supported Supported Supported Supported  
"this" is not coerced to object in primitive methods Supported Supported Supported Supported  
"this" is not coerced to object in primitive accessors Supported Supported Supported Supported  
legacy octal is a SyntaxError Supported Supported Supported Supported  
assignment to unresolvable identifiers is a ReferenceError Supported Supported Supported Supported  
assignment to eval or arguments is a SyntaxError Supported Supported Supported Supported  
assignment to non-writable properties is a TypeError Supported Supported Not supported Supported  
eval or arguments bindings is a SyntaxError Supported Supported Supported Supported  
arguments.caller removed or is a TypeError Supported Supported Supported Supported  
arguments.callee is a TypeError Supported Supported Supported Supported  
(function(){}).caller and (function(){}).arguments is a TypeError Supported Supported Supported Supported  
arguments is unmapped Supported Supported Supported Supported  
eval() can't create bindings Supported Supported Supported Supported  
deleting bindings is a SyntaxError Supported Supported Supported Supported  
deleting non-configurable properties is a TypeError Supported Supported Supported Supported  
"with" is a SyntaxError Supported Supported Supported Supported  
repeated parameter names is a SyntaxError Supported Supported Supported Supported  
function expressions with matching name and argument are valid Not supported Not supported Supported Supported  
ES5 compatibility 95% 95% 96% 97%  
ECMAScript 6 Optimisation proper tail calls (tail call optimisation) Not supported Not supported Not supported Not supported  
Syntax default function parameters Not supported Not supported Not supported Supported  
rest parameters Not supported Not supported Not supported Supported  
spread (...) operator Not supported Not supported Not supported Supported  
object literal extensions Not supported Not supported Not supported Supported  
for..of loops Not supported Not supported Partially(6/9) Supported  
octal and binary literals Not supported Not supported Not supported Supported  
template literals Not supported Not supported Not supported Supported  
RegExp "y" and "u" flags Not supported Not supported Not supported Supported  
destructuring, declarations Not supported Not supported Not supported Supported  
destructuring, assignment Not supported Not supported Not supported Supported  
destructuring, parameters Not supported Not supported Not supported Supported  
Unicode code point escapes Not supported Not supported Not supported Supported  
new.target Not supported Not supported Not supported Supported  
Bindings const Partially(1/16) Partially(1/16) Partially(1/16) Supported  
let Not supported Not supported Not supported Supported  
block-level function declaration Not supported Not supported Not supported Supported  
Functions arrow functions Not supported Not supported Not supported Supported  
class Not supported Not supported Not supported Supported  
super Not supported Not supported Not supported Supported  
generators Not supported Not supported Not supported Supported  
Built-ins typed arrays Partially(18/46) Partially(18/46) Partially(23/46) Supported  
Map Partially(6/19) Partially(6/19) Partially(15/19) Supported  
Set Partially(8/19) Partially(8/19) Partially(15/19) Supported  
WeakMap Partially(7/12) Partially(7/12) Partially(9/12) Supported  
WeakSet Not supported Not supported Partially(8/11) Supported  
Proxy Not supported Not supported Not supported Supported  
Reflect Not supported Not supported Not supported Supported  
Promise Not supported Not supported Partially(5/8) Supported  
Symbol Not supported Not supported Partially(9/12) Supported  
well-known symbols Not supported Not supported Partially(2/26) Supported  
Built-in extensions Object static methods Not supported Not supported Partially(3/4) Supported  
function "name" property Partially(3/17) Partially(3/17) Partially(2/17) Supported  
String static methods Not supported Not supported Not supported Supported  
String.prototype methods Not supported Not supported Partially(2/10) Supported  
RegExp.prototype properties Not supported Not supported Not supported Supported  
Array static methods Not supported Not supported Not supported Supported  
Array.prototype methods Not supported Not supported Partially(4/10) Supported  
Number properties Not supported Not supported Supported Supported  
Math methods Partially(1/17) Partially(1/17) Supported Supported  
Date.prototype[Symbol.toPrimitive] Not supported Not supported Not supported Supported  
Subclassing Array is subclassable Not supported Not supported Not supported Supported  
RegExp is subclassable Not supported Not supported Not supported Supported  
Function is subclassable Not supported Not supported Not supported Supported  
Promise is subclassable Not supported Not supported Not supported Supported  
miscellaneous subclassables Not supported Not supported Not supported Supported  
Misc prototype of bound functions Not supported Not supported Not supported Supported  
Proxy, internal 'get' calls Not supported Not supported Not supported Supported  
Proxy, internal 'set' calls Not supported Not supported Not supported Supported  
Proxy, internal 'defineProperty' calls Not supported Not supported Not supported Supported  
Proxy, internal 'deleteProperty' calls Not supported Not supported Not supported Supported  
Proxy, internal 'getOwnPropertyDescriptor' calls Not supported Not supported Not supported Supported  
Proxy, internal 'ownKeys' calls Not supported Not supported Not supported Supported  
Object static methods accept primitives Not supported Not supported Not supported Supported  
own property order Partially(4/7) Partially(4/7) Partially(3/7) Supported  
miscellaneous Partially(3/10) Partially(3/10) Partially(2/10) Supported  
Annex b non-strict function semantics Partially(2/3) Partially(2/3) Partially(2/3) Supported  
__proto__ in object literals Partially(1/5) Partially(1/5) Partially(1/5) Supported  
Object.prototype.__proto__ Supported Supported Supported Supported  
String.prototype HTML methods Supported Supported Supported Supported  
RegExp.prototype.compile Partially(1/2) Partially(1/2) Partially(1/2) Partially(1/2)  
RegExp syntax extensions Supported Supported Supported Supported  
HTML-style comments Supported Supported Supported Supported  
ES6 compatibility 7% 7% 22% 97%  
ECMAScript 2016+ 2016 features exponentiation (**) operator Not supported Not supported Not supported Supported  
Array.prototype.includes Not supported Not supported Not supported Supported  
2016 misc generator functions can't be used with "new" Not supported Not supported Not supported Supported  
generator throw() caught by inner generator Not supported Not supported Not supported Supported  
strict fn w/ non-strict non-simple params is error Not supported Not supported Not supported Supported  
nested rest destructuring, declarations Not supported Not supported Not supported Supported  
nested rest destructuring, parameters Not supported Not supported Not supported Supported  
Proxy, "enumerate" handler removed Not supported Not supported Not supported Supported  
Proxy internal calls, Array.prototype.includes Not supported Not supported Not supported Supported  
2017 features Object static methods Not supported Not supported Not supported Supported  
String padding Not supported Not supported Not supported Supported  
trailing commas in function syntax Not supported Not supported Not supported Supported  
async functions Not supported Not supported Not supported Supported  
shared memory and atomics Not supported Not supported Not supported Supported  
2017 misc Proxy "ownKeys" handler, duplicate keys for non-extensible targets Not supported Not supported Not supported Supported  
RegExp "u" flag, case folding Not supported Not supported Not supported Supported  
arguments.caller removed Not supported Not supported Not supported Supported  
2017 annex b Object.prototype getter/setter methods Partially(12/16) Partially(12/16) Partially(10/16) Partially(10/16)  
Proxy internal calls, getter/setter methods Not supported Not supported Not supported Partially(2/4)  
assignments allowed in for-in head in non-strict mode Not supported Not supported Supported Supported  
2018 features template literal revision Not supported Not supported Not supported Not supported  
2016+ compatibility 1% 1% 4% 36%