开发生涯

TypeScript初试(三)

之前在js中,为了防止全局变量污染,我们经常会声明一个对象,然后将变量或者函数作为对象的一个属性存在。
但是在ts中,我们可以通过关键字namespace来解决这个问题。
这里的namespace相当于es6中的module。

start

下面通过一个例子来说明一下

namespace gameConfig = {

    export const TextColor = {
        valueGolden: 0xf7b44a, //净值数值颜色
        transparent: 0x00000000, //透明色
        btnGolden: 0xffe8a9 //按钮上的文字的颜色
    }

    export enum errorMsg = {
        "网络连接故障,请耐心等待" = 5000,
        "账号在其他位置登录,如不是本人请更改密码" = 5001
    }

    export let isProto: boolean = false;

    let a;

    export function curHeight(): number {
        //当前游戏宽度
        console.log(a);
        return egret.MainContext.instance.stage.stageHeight;
    }

    export class Card{
        console.log('this is a card');
    }

}

class Example {
    const gold = gameConfig.TextColor.valueGolden;
}

在namespace命名空间中,我们可以声明变量,编写函数,编写类等等。
当我们在变量声明或者函数、类的编写之前使用export关键字后,我们就可以在命名空间之外找到它。当然有一些内部使用的,我们没有必要使用export关键字。

你可能也会喜欢...

发表评论

邮箱地址不会被公开。 必填项已用*标注