LayaBox -- 类型转换(基础数据类型转换,强制类型转换)

1、基础类型转换(string转number类型,number转string类型)


class TypeChange {
    constructor() {
        this.print();
    }

    age: number = 20;
    ageStr: string = "20";
    ageNull: string;

    public print() {
        console.log(this.age);
        console.log(this.ageStr);

        console.log(this.age.toString());
        console.log(parseInt(this.ageStr));
        console.log(parseInt(this.ageNull));
    }
}

new TypeChange();

输出结果:

20
20
20
20
NaN

当string类型为空的时候,转换为number为NaN。
2、类型强制转换(使用as进行强制类型转换)


class Animal {
    public _name: string;
    constructor() {}
    public set name(name: string) {
        this._name = name;
    }
}

class Person extends Animal {
    constructor() {
        super();
    }

    public say() {
        console.log("my name is " + this._name);
    }

}


class TypeChange {

    animal: Animal;

    constructor() {
        this.animal = new Person();
        this.animal.name = "people";
        this.print(); 
    }

    public print() {
        this.animal.say();              // 编辑器报错,但是编译成js代码是可以执行的
        var person = this.animal as Person;
        person.say();
    }
}

new TypeChange();

TypeScript是可以使用as进行强制类型转换的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值