Лекция 06
var {foo} = pony
var foo = pony.foo
var {foo: baz} = pony
var baz = pony.foo
var {foo='baz'} = pony
var foo = pony.foo
if (!foo) foo = 'baz'
var {foo, bar: baz} = pony
var foo = pony.foo,
bar = pony.baz;
var {foo: {bar}} = pony
var bar = pony.foo.bar
var [a, b] = [0, 1]
// a = 0, b = 1
var [a, , b] = [0, 1, 2]
// a = 0, b = 2
function foo ({ a, b=2 }) {}
foo({ a: 3, b: 3 })
fn(...[1, 2, 3])
fn(1, 2, 3)
[1, 2, ...[3, 4, 5], 6, 7]
var x = { a: 2, b: 3 };
var y = { c: 4, ...x };
var z = { ...y, a: 5 };
var x = { a: 2, b: 3, c: 4 };
var { a, ...y } = x;
// a = 3
// y = { b: 3, c: 4 }
function foo (...everything) {}
function foo (bar, ...rest) {}
[1, 2].map (x => x * 2)
p1 => expr
p1 => { return expr; }
p1 => ({ foo: 'bar' })
( ) => expr
(p1) => expr
p1 => expr
(p1, p2) => expr
function Person() {
this.age = 0;
setInterval(function () {
this.age++;
}, 1000);
}
var p = new Person();
function Person() {
var self = this;
this.age = 0;
setInterval(function () {
self.age++;
}, 1000);
}
var p = new Person();
function Person() {
this.age = 0;
setInterval(()=> {
this.age++;
}, 1000);
}
var p = new Person();
var rating = 5;
`ponyfoo.com is ${rating}`
`ponyfoo.com is ${2 * 3}`
`ponyfoo.com is ${foo()}`
function fn(template, ...expressions) {
/*
template = [
'foo, ',
' and ',
''
]
expressions = [
bar,
baz
]
*/
}
fn`foo, ${bar} and ${baz}`
{ foo }
{ foo: foo }
var prefix = 'moz'
var obj = { [prefix + 'Foo'] : 'bar' }
{
foo () {}
}
{
foo: function () {}
}
if (...) {
var a = 5;
}
console.log(a); // 5
if (...) {
let a = 5;
}
console.log(a); // ReferenceError
const a = { foo: 42 };
a = { bar: 9000 }; // TypeError
const a = { foo: 42 };
a.foo = 9000;
a.bar = 9000;
x ** y
Math.pow(x, y)
const a = { a: 1 }, b = { b: 2 };
const c = Object.assign({}, a, b);
// { a: 1, b: 2}
const a = { a: 1 }, b = { b: 2 };
const c = Object.assign({}, a, b);
// { a: 1, b: 2}
const a = { a: 1, b: 2 }
const keys = Object.keys(a);
// ['a', 'b']
Object.entries({ one: 1, two: 2 })
// [ [ 'one', 1 ], [ 'two', 2 ] ]
let obj = {
first: 'Jane',
last: 'Doe',
};
let arr = [
'red',
'green',
'blue',
];
function foo(
param1,
param2,
) {}
foo(
'abc',
'def',
);
for await (const line of readFiles(dirPath)) {
console.log(line);
}