1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
//// [assignmentToObjectAndFunction.ts]
var errObj: Object = { toString: 0 }; // Error, incompatible toString
var goodObj: Object = {
toString(x?) {
return "";
}
}; // Ok, because toString is a subtype of Object's toString
var errFun: Function = {}; // Error for no call signature
function foo() { }
module foo {
export var boom = 0;
}
var goodFundule: Function = foo; // ok
function bar() { }
module bar {
export function apply(thisArg: string, argArray?: string) { }
}
var goodFundule2: Function = bar; // ok
function bad() { }
module bad {
export var apply = 0;
}
var badFundule: Function = bad; // error
//// [assignmentToObjectAndFunction.js]
var errObj = { toString: 0 }; // Error, incompatible toString
var goodObj = {
toString: function (x) {
return "";
}
}; // Ok, because toString is a subtype of Object's toString
var errFun = {}; // Error for no call signature
function foo() { }
(function (foo) {
foo.boom = 0;
})(foo || (foo = {}));
var goodFundule = foo; // ok
function bar() { }
(function (bar) {
function apply(thisArg, argArray) { }
bar.apply = apply;
})(bar || (bar = {}));
var goodFundule2 = bar; // ok
function bad() { }
(function (bad) {
bad.apply = 0;
})(bad || (bad = {}));
var badFundule = bad; // error
|