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进行强制类型转换的。


版权声明:本文为honey199396原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。