技巧
最后更新于:2022-04-02 03:27:56
[TOC]
## amd (加载)
[github 实例](https://github.com/Microsoft/TypeScriptSamples/blob/master/amd/greeter.ts)
关键需引入`require`代码,指定入口文件为 `data-main="app"`
```
```
## symbol 创建独一无二的值
创建独一无二的值,在某些对值不重要的场景
如:
```
var race = {
protoss: 'protoss', // 神族
terran: 'terran', // 人族
zerg: 'zerg' // 虫族
}
function createRole(type){
if(type === race.protoss){创建神族角色}
else if(type === race.terran){创建人族角色}
else if(type === race.zerg){创建虫族角色}
}
```
可以改为
```
var race = {
protoss: Symbol(),
terran: Symbol(),
zerg: Symbol()
}
function dmeo(r){
if (r==race.protoss){console.log("is protoss");}
else if(r==race.terran){console.log("is terran");}
else if(r ===race.zerg){console.log("is zerg");}
}
```
`Symbol`的参数只是个注释,无实际用途
如:
```
var race = {
protoss: Symbol('protoss'),
terran: Symbol('terran'),
zerg: Symbol('zerg')
}
//or
> var a1 = Symbol('a')
var a2 = Symbol('a')
a1 !== a2 // true
```
## for ..in.. 与 for .. of ...
`for..in`迭代的是对象的 键 的列表,而`for..of`则迭代对象的键对应的值
## 声明
`*.d.ts` 相当于c中的`.h`文件,在调用第三方原生库时,可方便知道类型
如:
a.d.ts
```
declare function demo (num:number):boolean
declare let demo1:string
```
在 a.ts 中输入 `demo1` 就会提示出这个函数的规范
';