史上最强TypeScript脚本介绍

TypeScript是一种由微软开发的自由和开源的编程语言。它是JavaScript的一个严格超集,并添加了可选的静态类型和基于类的面向对象编程。TypeScript的设计目标是开发大型应用,然后转译成JavaScript运行。由于TypeScript是JavaScript的超集,任何现有的JavaScript程序都是合法的TypeScript程序。

516直播回顾:TypeScript支持知识讲解

1

TypeScript和Cocos Creator

Cocos Creator的很多用户之前是使用其他强类型语言(如 C++/C#)来编写游戏的,因此在使用 Cocos Creator 的时候也希望能够使用强类型语言来增强项目在较大规模团队中的表现。

从 v1.5 版本开始 Cocos Creator 支持在项目中使用 TypeScript 编写脚本,用户的源码可以完全使用 TypeScript,或者 TypeScript 和 JavaScript 混合使用。

和其他 JavaScript 脚本一样,项目 assets 目录下的 TypeScript 脚本(.ts 文件) 在创建或修改后激活编辑器,就会被编译成兼容浏览器标准的 ES5 JavaScript 脚本。编译后的脚本存放在项目下的 library(还包括其他资源)目录。

2

使用准备

 在新项目中使用 TypeScript 

新建项目时,从项目模板中选择 HelloWorld TypeScript,即可创建一个包括 TypeScript 相关设置和基本组件的 HelloWorld 项目。

df60fee629571c72fcd756eb0e74ed55.jpeg

在编辑 TypeScript 脚本时,我们推荐使用微软推出的VS Code作为代码编辑器,VS Code具有完善的TypeScript语言支持功能。

 在已有项目中添加 TypeScript 设置 

如果希望在原有项目中添加 TypeScript 脚本,并获得 VS Code 等 IDE 的完整支持,需要执行主菜单的 开发者 -> VS Code 工作流 -> 更新 VS Code 智能提示数据 和 开发者 -> VS Code 工作流 -> 添加 TypeScript 项目配置,来添加 creator.d.ts 和 tsconfig.json 文件到你的项目根目录中。creator.d.ts 声明了引擎的所有 API,用于支持 VS Code 的智能提示。tsconfig.json 用于设置 TypeScript 项目环境,您可以参考官方的 tsconfig.json 说明 进行定制。

 在项目中创建 TypeScript 脚本 

和创建 JavaScript 脚本一样,你可以直接在文本编辑器里新建 .ts 文件,或通过编辑器的 资源管理器 的创建菜单,右键点击一个文件夹,并选择 新建 -> TypeScript。

 使用 TypeScript 声明 CCClass 

在 TypeScript 中 class 的声明方式 和 ES6 Class 相似。但为了编辑器能够正确解析 属性检查器 里显示的各类属性,我们还需要使用引擎内置的一些装饰器,来将普通的 class 声明成 CCClass。这和目前将 JavaScript 中的 ES6 Class 声明为 CCClass 的方法类似。关于装饰器的更多信息请参考 TypeScript decorator。

下面是一个基本的 TypeScript 声明组件的实例:

322546eadc8d64aa87173ce8141ec885.jpeg

装饰器使用 @ 字符开头作为标记,装饰器主要用于编辑器对组件和属性的识别,而 TypeScript 语法中的类型声明 myVar: Type 则允许 VS Code 编码时自动识别变量类型并提示其成员。

3

更多属性类型声明方法

 声明值类型 

21e07ae6dc0631af0f3298a29240b747.png

 声明数组 

2865cc40fd94539832a1e9425ef01662.png

 声明 getset 

ebce88240a63783474162d481be497e1.png

注意:TypeScript 的 public, private 修饰符不影响成员在 属性检查器 中的默认可见性,默认的可见性仍然取决于成员变量名是否以下划线开头。

4

完善的智能提示功能

按照使用准备里描述的方式创建项目或添加配置后,在 VS Code 里打开项目,就可以享受完善的代码智能提示功能了。

 组件本身的属性成员 

只要输入 this. 就会自动提示组件本身的其他成员,输入 this.member. 可以继续提示该成员的属性或方法。

e34d8d8160aff4424067dd12cfc4384f.jpeg

 提示其他组件属性和方法 

首先我们声明一个组件:

32e8003a2fb260ddf7dbd4ac31f94127.png

然后在其他组件中 import MyModule, 并且声明一个 MyModule 类型的成员变量:

093b5b295a37e78c794cec5976bb0d65.jpeg

输入 this.myModule. 时,就可以提示我们在 MyModule.ts 中声明的属性了。

124b4bb6fb6ea53a9695068f7835bc2e.gif

 更新引擎接口声明数据 

Creator 每个新版本都会更新引擎接口声明,建议升级了 Creator 后,通过主菜单的 开发者 -> VS Code 工作流 -> 更新 VS Code 智能提示数据 来更新已有项目的 creator.d.ts 文件。

Cocos Creator 中对 TypeScript 的支持参考了很多 Creator TypeScript Boilerplate 项目的设置和做法,在此特别感谢。另外这个项目中也包含了很多关于使用 TypeScript 项目的工作流程和高级功能,可供参考。

5

资源下载链接

TypeScript官方网站

www.typescriptlang.org

VS Code

www.code.visualstudio.com

tsconfig.json

www.typescriptlang.org/docs/handbook/tsconfig-json.html

TypeScript 中 class 的声明方式

www.typescriptlang.org/docs/handbook/classes.html

ES6 Class 

es6.ruanyifeng.com/#docs/class

TypeScript decorator

www.typescriptlang.org/docs/handbook/decorators.html

Creator TypeScript Boilerplate

github.com/toddlxt/Creator-TypeScript-Boilerplate

a3e386360207514d9573e035804cfbf9.gif

戳原文,进Github!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值