<?xml version="1.0" encoding="UTF-8"?>
<feature id="javascript"><name>JavaScript (initial core language support)</name><description>JavaScript is a programming language that runs in browsers, usually through the &lt;script&gt; element. JavaScript has changed over many years. This feature represents the oldest language features, such as built-in objects, statements, and operators. Also known as ECMAScript.</description><group>javascript</group><group_name>JavaScript</group_name><baseline><status>widely</status><low_date>2015-07-29</low_date><high_date>2018-01-29</high_date></baseline><support><browser name="chrome" version="5" supported="true"></browser><browser name="firefox" version="1" supported="true"></browser><browser name="safari" version="5" supported="true"></browser><browser name="edge" version="12" supported="true"></browser><browser name="chrome_android" version="18" supported="true"></browser><browser name="firefox_android" version="4" supported="true"></browser><browser name="safari_ios" version="4.2" supported="true"></browser></support><specifications><spec>https://tc39.es/ecma262/multipage/#sec-intro</spec></specifications><caniuse></caniuse><mdn_url>https://developer.mozilla.org/docs/Web/JavaScript/Reference/Operators/in</mdn_url><compat_features><key>javascript.builtins.Boolean</key><key>javascript.builtins.Boolean.Boolean</key><key>javascript.builtins.Boolean.toString</key><key>javascript.builtins.Boolean.valueOf</key><key>javascript.builtins.Error</key><key>javascript.builtins.Error.Error</key><key>javascript.builtins.Error.message</key><key>javascript.builtins.Error.name</key><key>javascript.builtins.Error.toString</key><key>javascript.builtins.EvalError</key><key>javascript.builtins.EvalError.EvalError</key><key>javascript.builtins.RangeError</key><key>javascript.builtins.RangeError.RangeError</key><key>javascript.builtins.ReferenceError</key><key>javascript.builtins.ReferenceError.ReferenceError</key><key>javascript.builtins.SyntaxError</key><key>javascript.builtins.SyntaxError.SyntaxError</key><key>javascript.builtins.TypeError</key><key>javascript.builtins.TypeError.TypeError</key><key>javascript.builtins.URIError</key><key>javascript.builtins.URIError.URIError</key><key>javascript.builtins.decodeURI</key><key>javascript.builtins.decodeURIComponent</key><key>javascript.builtins.encodeURI</key><key>javascript.builtins.encodeURIComponent</key><key>javascript.builtins.eval</key><key>javascript.builtins.isFinite</key><key>javascript.builtins.parseFloat</key><key>javascript.builtins.undefined</key><key>javascript.grammar.boolean_literals</key><key>javascript.grammar.hexadecimal_escape_sequences</key><key>javascript.grammar.null_literal</key><key>javascript.grammar.trailing_commas</key><key>javascript.grammar.trailing_commas.trailing_commas_in_object_literals</key><key>javascript.grammar.unicode_escape_sequences</key><key>javascript.operators.addition</key><key>javascript.operators.addition_assignment</key><key>javascript.operators.assignment</key><key>javascript.operators.bitwise_and</key><key>javascript.operators.bitwise_and_assignment</key><key>javascript.operators.bitwise_not</key><key>javascript.operators.bitwise_or</key><key>javascript.operators.bitwise_or_assignment</key><key>javascript.operators.bitwise_xor</key><key>javascript.operators.bitwise_xor_assignment</key><key>javascript.operators.comma</key><key>javascript.operators.conditional</key><key>javascript.operators.decrement</key><key>javascript.operators.delete</key><key>javascript.operators.division</key><key>javascript.operators.division_assignment</key><key>javascript.operators.equality</key><key>javascript.operators.greater_than</key><key>javascript.operators.greater_than_or_equal</key><key>javascript.operators.grouping</key><key>javascript.operators.in</key><key>javascript.operators.increment</key><key>javascript.operators.inequality</key><key>javascript.operators.instanceof</key><key>javascript.operators.left_shift</key><key>javascript.operators.left_shift_assignment</key><key>javascript.operators.less_than</key><key>javascript.operators.less_than_or_equal</key><key>javascript.operators.logical_and</key><key>javascript.operators.logical_not</key><key>javascript.operators.logical_or</key><key>javascript.operators.multiplication</key><key>javascript.operators.multiplication_assignment</key><key>javascript.operators.new</key><key>javascript.operators.null</key><key>javascript.operators.property_accessors</key><key>javascript.operators.remainder</key><key>javascript.operators.remainder_assignment</key><key>javascript.operators.right_shift</key><key>javascript.operators.right_shift_assignment</key><key>javascript.operators.strict_equality</key><key>javascript.operators.strict_inequality</key><key>javascript.operators.subtraction</key><key>javascript.operators.subtraction_assignment</key><key>javascript.operators.this</key><key>javascript.operators.typeof</key><key>javascript.operators.unary_negation</key><key>javascript.operators.unary_plus</key><key>javascript.operators.unsigned_right_shift</key><key>javascript.operators.unsigned_right_shift_assignment</key><key>javascript.operators.void</key><key>javascript.statements.block</key><key>javascript.statements.break</key><key>javascript.statements.continue</key><key>javascript.statements.debugger</key><key>javascript.statements.do_while</key><key>javascript.statements.empty</key><key>javascript.statements.for</key><key>javascript.statements.for_in</key><key>javascript.statements.if_else</key><key>javascript.statements.label</key><key>javascript.statements.return</key><key>javascript.statements.switch</key><key>javascript.statements.throw</key><key>javascript.statements.try_catch</key><key>javascript.statements.var</key><key>javascript.statements.while</key></compat_features><canonical_url>https://nowyoucanuse.com/features--javascript.html</canonical_url></feature>