TypeScript/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2.js

40 lines
1.1 KiB
JavaScript

//// [taggedTemplateStringsWithOverloadResolution2.ts]
function foo1(strs: TemplateStringsArray, x: number): string;
function foo1(strs: string[], x: number): number;
function foo1(...stuff: any[]): any {
return undefined;
}
var a = foo1 `${1}`; // string
var b = foo1([], 1); // number
function foo2(strs: string[], x: number): number;
function foo2(strs: TemplateStringsArray, x: number): string;
function foo2(...stuff: any[]): any {
return undefined;
}
var c = foo2 `${1}`; // number
var d = foo2([], 1); // number
//// [taggedTemplateStringsWithOverloadResolution2.js]
function foo1() {
var stuff = [];
for (var _i = 0; _i < arguments.length; _i++) {
stuff[_i - 0] = arguments[_i];
}
return undefined;
}
var a = foo1 "" + 1; // string
var b = foo1([], 1); // number
function foo2() {
var stuff = [];
for (var _i = 0; _i < arguments.length; _i++) {
stuff[_i - 0] = arguments[_i];
}
return undefined;
}
var c = foo2 "" + 1; // number
var d = foo2([], 1); // number