优势
1, 支持 es6 规范
2, 强大的 IDE 支持 (类型检查, 语法提示, 重构 (很方便修改))
3,angular2 的开发语言
搭建 typescript 环境
就是搭建 compiler, 原理是将 typescript 转成 JS 运行, 因为 es6 现在好多浏览器不支持, 所以没办法将 es6 直接写在浏览器里, 用这个转成 JS
使用在线 compiler 开发
实际开发是本地 compiler
安装本地
Windows 上 NPM install -g typescript
Linux 上 sudo NPM install -g typescript
安装完查看版本 tsc --version
安装完写 hello.ts 编译成 JS 用如下命令
tsc hello.ts 就会生成 hello.JS
字符串新特效
1, 多行字符串
用 `` 符号 在里面换行不出错
` 2, 模板字符串 var name='测试 1' var a=function(){ return '测试 2' } console.log(
我来测试你 ${name}) console.log(我来测试你 ${a()}`)
可以执行变量, 也可以执行方法
3, 自动拆分字符串
第一个会打印出一个数组
第二个打印 zhailiang
第三个打印 18
typescript 参数新特性
参数类型: 在参数名称后面使用冒号来指定参数类型
var myname: string="ceshi";
var n:any=''可以任意类型
- var n:number=13
- var man:boolean=true
function a():void{} 用来声明方法的返回值
void 表示不需要任何返回值
- function a() : string {
- return '';
- }
表示 a 方法返回的是字符串
function a(name:string){
} 表示方法里的参数类型必须是字符串类型
自定义类型
- class Person {
- name: string age: number
- }
- var zhangsan = new Person()
zhangsan. 后面会自动提示 name 和 age 属性
减少犯错误的几率
默认参数: 在参数后面用等号来指定参数的默认值
- var name: string = 'nihao'
- function m(a: string, b: string = 'abc') {
- console.log(a) console.log(b)
- }
- m('123', '456') // 123 456
- m('wwew') //wwew
带默认值的参数一定要定义到方法的最后面
可选参数: 在方法的参数声明后面用问号来标明此参数为可选参数
- function m(a: string, b: string, c ? :string) {
- console.log(a) console.log(b) console.log(c) //c 为可选参数
- }
m('123','456') 可传 2 个参数
注意
1, 可选参数不能声明到第一个
2, 传值时候需要在方法里处理可选参数没值的情况, 否则会报错
函数新特性
REST and Spread 操作符
作用: 用来声明任意数量的方法参数
generator 函数
作用: 控制函数的执行过程, 手工暂停和恢复代码运行
funtion 函数 后面加 * 号 并且在 babel JS 里执行, 并且通过 yield 在函数里进行停顿与执行
destructuring 析构表达式
作用: 通过表达式将对象或数组拆解成任意数量的变量
输出 IBM 400
此时输出 1 2
此时输出 3 4
此时输出 1 4
此时如下显示
此时如下显示
来源: http://www.qdfuns.com/article/50984/7d47094ef56804e09532d17dc7dd4536.html