function defParams(a, b = "default value") {
writeVars("a", a, "b", b);
}
defParams("regular value", "custom value");
defParams("regular value");
write(`1 + 1 = ${1 + 1}`);
const thisIsConst = 1;
let thisIsLet = 2;
writeVars("thisIsConst", thisIsConst, "thisIsLet", thisIsLet);
var regularString = "a\
b\
c";
var templateString = `a\
b\
c`;
writeVars("regularString", regularString);
writeVars("templateString", templateString);
var obj = { a: 1, b: 2, c: 3, d: { e: 4 } };
var { a } = obj;
var { b, c } = obj;
var { d: { e } } = obj;
writeVars("a", a, "b", b, "c", c, "e", e);
var arr = [ 1, 2, 3, 4 ];
var [ x, , y ] = arr;
writeVars("x", x, "y", y);
var a = 1;
var b = 2;
var [c, d] = [a, b];
[b, a] = [a, b];
writeVars("a", a, "b", b, "c", c, "d", d);
function fun({a, b}) {
writeVars("a", a, "b", b);
}
var obj = {
a: 1,
b: 2
};
fun(obj);
var someVar = 1;
var obj = {
regular: 2,
someVar,
someMethod() {
writeVars("someVar", this.someVar, "aaa", this.aaa);
},
['a' + 'a' + 'a']: 3
}
obj.someMethod();
var arrowFunction1 = (param) => {
writeVars("param", param);
};
var arrowFunction2 = (param) => arrowFunction1(param);
arrowFunction2(123);
var promise = new Promise(function (resolve, reject) {
resolve('hooray!');
});
promise.then(function (res) {
// Promise will be resolved asynchronously,
// so it's resolve moment can't be captured by test runner.
console.log('Promise works!');
});
class SomeClass {
constructor(param) {
this.value = param;
}
getValue() {
return this.value;
}
}
class AnotherClass extends SomeClass {
constructor(param) {
super(param);
}
}
var instance = new AnotherClass('initial value');
writeVars("value", instance.getValue());
function* gen(a) {
let i = 1;
while (i < a) {
yield i++;
}
return i;
}
const iter = gen(5);
let iterObj = null;
while (!iterObj || !iterObj.done) {
iterObj = iter.next();
writeVars("i", iterObj.value);
}
var arr = [1, 2, 3, 4];
for(var i of arr) {
writeVars("i", i);
}
function fun(a, ...b) {
writeVars("a", a, "b", b);
}
fun(1, 2, 3, 4);
var arr1 = [2, 3, 4];
var arr2 = [1, ...arr1];
writeVars("arr2", arr2);
function fun(a, b, c, d) {
writeVars("a", a, "b", b, "c", c, "d", d);
}
fun(...arr2);