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