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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
LayaAir引擎提供了两个函数用于世界坐标与本地坐标的换,分别是: 1. `pointToLocal(point: Point, createNewPoint?: boolean, global?: boolean): Point` 该函数用于将世界坐标系中的点换为当前节点的本地坐标系中的点。 参数解释: - `point`:要换的点。 - `createNewPoint`:是否创建一个新的点对象,如果为 true,则返回一个新的点对象,否则会修改传入的 point 对象。默认为 false。 - `global`:是否使用全局坐标系进行计算。默认为 false,即使用本地坐标系进行计算。 示例代码: ```typescript // 获取当前节点 let node = this.owner; // 创建一个世界坐标系中的点 let worldPoint = new Laya.Point(100, 100); // 将世界坐标系中的点换为本地坐标系中的点 let localPoint = node.pointToLocal(worldPoint); ``` 2. `localToGlobal(point: Point, createNewPoint?: boolean, global?: boolean): Point` 该函数用于将当前节点的本地坐标系中的点换为世界坐标系中的点。 参数解释: - `point`:要换的点。 - `createNewPoint`:是否创建一个新的点对象,如果为 true,则返回一个新的点对象,否则会修改传入的 point 对象。默认为 false。 - `global`:是否使用全局坐标系进行计算。默认为 false,即使用本地坐标系进行计算。 示例代码: ```typescript // 获取当前节点 let node = this.owner; // 创建一个本地坐标系中的点 let localPoint = new Laya.Point(100, 100); // 将本地坐标系中的点换为世界坐标系中的点 let worldPoint = node.localToGlobal(localPoint); ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值