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 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
|
//// [contextuallyTypedObjectLiteralMethodDeclaration01.ts]
interface A {
numProp: number;
}
interface B {
strProp: string;
}
interface Foo {
method1(arg: A): void;
method2(arg: B): void;
}
function getFoo1(): Foo {
return {
method1(arg) {
arg.numProp = 10;
},
method2(arg) {
arg.strProp = "hello";
}
}
}
function getFoo2(): Foo {
return {
method1: (arg) => {
arg.numProp = 10;
},
method2: (arg) => {
arg.strProp = "hello";
}
}
}
function getFoo3(): Foo {
return {
method1: function (arg) {
arg.numProp = 10;
},
method2: function (arg) {
arg.strProp = "hello";
}
}
}
//// [contextuallyTypedObjectLiteralMethodDeclaration01.js]
function getFoo1() {
return {
method1: function (arg) {
arg.numProp = 10;
},
method2: function (arg) {
arg.strProp = "hello";
}
};
}
function getFoo2() {
return {
method1: function (arg) {
arg.numProp = 10;
},
method2: function (arg) {
arg.strProp = "hello";
}
};
}
function getFoo3() {
return {
method1: function (arg) {
arg.numProp = 10;
},
method2: function (arg) {
arg.strProp = "hello";
}
};
}
|