1.fnuc.ts
//1.two parameter
console.log('1.two parameter');
function max1(x: number, y: number): number {
return (x > y) ? x : y;
}
let result_max1 = max1(33, 66);
console.log('result_max1: ' + result_max1);
//2.1 ~ 2 parameter
console.log('2.1 ~ 2 parameter');
function max2(x: number, y?: number): number {
if (y)
return (x > y) ? x : y;
else
return x;
}
let result_max2 = max2(33);
console.log('result_max2: ' + result_max2);
//3.default parameter
console.log('3.default parameter');
function max3(x: number, y = 44): number {
return (x > y) ? x : y;
}
let result_max3_1 = max3(33);
console.log('result_max3_1: ' + result_max3_1);
let result_max3_2 = max3(33, 22);
console.log('result_max3_2: ' + result_max3_2);
let result_max3_3 = max3(33, undefined);
console.log('result_max3_3: ' + result_max3_3);
//4.first default parameter
console.log('4.first default parameter');
function max4(x: number = 44, y : number): number {
return (x > y) ? x : y;
}
let result_max4_1 = max4(undefined, 33);
console.log('result_max4_1: ' + result_max4_1);
let result_max4_2 = max4(22, 33);
console.log('result_max4_2: ' + result_max4_2);
//5.many paramter
console.log('5.many paramter');
function sum(x: number, ...numbers: number[]): number {
let total = x;
for (let idx = 0; idx < numbers.length; idx++) total += numbers[idx]; return total; } let total = sum(1, 2, 3, 4, 5); console.log('total: ' + total); //6.function overload console.log('6.function overload'); function func(config: number[]); function func(config: number, value: number); function func(config: string, value: string); function func(config: any, value?: any) { console.log('config: ' + config); console.log('value: ' + value); } console.log('func ==> ');
func([5, 6]);
console.log('func ==> ');
func('test1', 'test2');
console.log('func ==> ');
func(1, 2);
//7.this
console.log('7.this');
let data = {
datas: ['data1', 'data2', 'data3', 'data4'],
dataPicker: function() {
return () => {
let pickedIdx = Math.floor(Math.random() * 4);
return this.datas[pickedIdx];
}
}
}
let pickData = data.dataPicker();
console.log('pickData(): ' + pickData());
2.compiler
tsc func.ts
3.產出的 func.js
//1.two parameter
console.log('1.two parameter');
function max1(x, y) {
return (x > y) ? x : y;
}
var result_max1 = max1(33, 66);
console.log('result_max1: ' + result_max1);
//2.1 ~ 2 parameter
console.log('2.1 ~ 2 parameter');
function max2(x, y) {
if (y)
return (x > y) ? x : y;
else
return x;
}
var result_max2 = max2(33);
console.log('result_max2: ' + result_max2);
//3.default parameter
console.log('3.default parameter');
function max3(x, y) {
if (y === void 0) { y = 44; }
return (x > y) ? x : y;
}
var result_max3_1 = max3(33);
console.log('result_max3_1: ' + result_max3_1);
var result_max3_2 = max3(33, 22);
console.log('result_max3_2: ' + result_max3_2);
var result_max3_3 = max3(33, undefined);
console.log('result_max3_3: ' + result_max3_3);
//4.first default parameter
console.log('4.first default parameter');
function max4(x, y) {
if (x === void 0) { x = 44; }
return (x > y) ? x : y;
}
var result_max4_1 = max4(undefined, 33);
console.log('result_max4_1: ' + result_max4_1);
var result_max4_2 = max4(22, 33);
console.log('result_max4_2: ' + result_max4_2);
//5.many paramter
console.log('5.many paramter');
function sum(x) {
var numbers = [];
for (var _i = 1; _i < arguments.length; _i++) {
numbers[_i - 1] = arguments[_i];
}
var total = x;
for (var idx = 0; idx < numbers.length; idx++) total += numbers[idx]; return total; } var total = sum(1, 2, 3, 4, 5); console.log('total: ' + total); //6.function overload console.log('6.function overload'); function func(config, value) { console.log('config: ' + config); console.log('value: ' + value); } console.log('func ==> ');
func([5, 6]);
console.log('func ==> ');
func('test1', 'test2');
console.log('func ==> ');
func(1, 2);
//7.this
console.log('7.this');
var data = {
datas: ['data1', 'data2', 'data3', 'data4'],
dataPicker: function () {
var _this = this;
return function () {
var pickedIdx = Math.floor(Math.random() * 4);
return _this.datas[pickedIdx];
};
}
};
var pickData = data.dataPicker();
console.log('pickData(): ' + pickData());
4.執行結果

