2015-01-04 19:40:09 +11:00

46 lines
775 B
JavaScript

function f(a = 1, b = 2) {
return a + b;
}
assert.equal(0, f.length);
assert.equal(3, f());
assert.equal(6, f(4));
assert.equal(24, f(8, 16));
assert.equal(3, f(undefined, undefined));
assert.equal(33, f(undefined, 32));
function g(a, b = a) {
return a + b;
}
assert.equal(1, g.length);
assert.equal(4, g(2));
assert.equal(4, g(2, undefined));
assert.equal(5, g(2, 3));
function C(obj = this) {
this.obj = obj;
}
assert.equal(0, C.length);
var c = new C;
assert.equal(c, c.obj);
var c2 = new C(undefined);
assert.equal(c2, c2.obj);
var c3 = new C(42);
assert.equal(42, c3.obj);
function h(a = 1, b) {
return {a: a, b: b};
}
assert.equal(1, h().a);
assert.equal(2, h(2).a);
assert.isUndefined(h().b);
assert.isUndefined(h(2).b);
assert.equal(4, h(3, 4).b);