定义TypeScript对象内函数的方法(备忘)

一、直接定义对象

let gift = {
    gifts: ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j"],
    // 无参数
    giftPicker: function () {
        // 必须用 => this才正确
        return () => {
            return this.gifts[0];     
        }
    },
    // 有参数
    testFun: function (idx: number) {
        // 必须用 => this才正确        
        return (idx: number) => {
            return this.gifts[idx];            
        }(idx);
    }
}

// 无参数调用
let pickGift = gift.giftPicker();   // 指向函数地址
alert(pickGift());
//或
alert(gift.giftPicker()());         // 直接调用


// 有参数调用
let testFun = gift.testFun();       // 指向函数地址
alert(testFun(1));
//或
alert(gift.testFun()(1));           // 直接调用

二、先定义类,再实例化

// 类的写法 
class Car{
    engine: string = "xyz";
    testFun() {
        return this.engine;
    }
}

let car = new Car();
alert(car.testFun());

 

你可能感兴趣的:(Ionic3,Angular2,实用,基础知识)