-
-
Notifications
You must be signed in to change notification settings - Fork 183
Latest user visible changes
dgutov edited this page Feb 17, 2013
·
5 revisions
This page lists most of the user-visible changes.
[foo, bar, baz].forEach(function (v) {
if (validate(v))
process(v);
});
[a, b, c].some(function (v) {
return validate(v);
});
In the original mode,
var foo = 10,
bar = 20,
baz = 30;
In this mode when the value of js2-pretty-multiline-declarations
is non-nil,
var foo = 10,
bar = 20,
baz = 30;
let {a, b} = {a: 10, b: 20}; // Abbreviated (Not supported in the original mode)
let {a: a, b: b} = {a: 10, b: 20}; // Same as above (Supported in the original mode)
(function ({responseText}) { /* */ })(xhr); // As the argument of function
for (let [k, { name, age }] in Iterator(obj)) // nested
print(k, name, age);
let worker = {
get age() 20,
get sex() "male",
fire: function () _fire()
};
In the original mode,
if (foo)
return foo;
else if (bar)
return bar; // here
In this mode,
if (foo)
return foo;
else if (bar)
return bar; // fixed
Supports function nesting and anonymous wrappers:
(function() {
var foo = function() {
function bar() { // shown as foo.bar.<definition-1>
function baz() {} // foo.bar.baz
var qux = function() {}; // foo.bar.quux
}
};
});
Examples of output:
For library-specific extension methods like $.extend
and dojo.declare
, see js2-imenu-extras.
Original mode highlights them only on the left side of assignments:
var house;
hose = new House(); // highlights "hose"
Here they are highlighted in all expressions:
function feed(fishes, food) {
for each (var fish in fshes) { // highlights "fshes"
food.feed(fsh); // highlights "fsh"
}
hood.discard(); // highlights "hood"
}
Destructuring assignments and array comprehensions (JS 1.7) are supported:
let three, [one, two] = [1, 2];
thee = one + two; // highlights "thee"
function revenue(goods) {
// highlights "coast"
return [price - coast for each ({price, cost} in goods)].reduce(add);
}