Internet Explorer 11 extends the JavaScript enhancements of Internet Explorer 10 with new support for block-scoped variables, container objects, the Internationalization API, and the __proto__property.

Note  The following features work identically in IE11 and Windows Store app using JavaScript.


Block-scoped variables

You can use the new let and const keywords to declare variables for which the scope is limited to the block in which they're declared. See let Statement and const Statement for more info.

Container objects

You can create a collection of unique objects by using the Set Object object, and you can create a collection of key/value pairs by using Map Object or WeakMap Object.

Internationalization API

Locale-specific date and time formatting, number formatting, and comparisons are provided through the Internationalization API, which conforms to the ECMAScript Internationalization API Specification. For details, see Intl.DateTimeFormat Object, Intl.NumberFormat Object, and Intl.Collator Object.

__proto__ property

You can use the __proto__ property to set the prototype for user-defined objects, intrinsic objects, and functions. To learn more, see __proto__ Property (Object).

Asynchronous tracing functions

You can instrument your code to provide the debugger with tracing information for your asynchronous functions. This information can be used by tools such as Visual Studio to provide better debugging information in the Call Stack window and the Tasks window. For more information, see the Debug Object (JavaScript).

Typed array enhancements

A new typed array, Uint8ClampedArray, provides support for typed arrays consisting of 8-bit unsigned integers with values clamped to the range 0-255. In addition, the ArrayBuffer object now supports the slice method and ArrayBuffer.isView function.