typeScript

typeScript是ES6的超集,大概是ES7的实现

1.编译性语言(JS是解释性语言)
2.强类型
3.真面向对象:有接口,有泛型,有枚举,有访问修饰符
4.它遵循AMD规范
AMD是RequireJs,在推广过程中,对模块定义的规范化产出
CMD是SeaJs,在推广过程中,对模块定义的规范化产出
比JavaScript还Java的script

typeScript不能直接运行在浏览器

需要编译
1.下载: cnpm install -g typescript
2.编译: tsc xxx.ts

类型

number,string,boolean,symbol,void,null,undefined,enum,any
var a:类型
1.好理解:number,string,boolean,null,undefined
2.void 空 一般用于返回值
3.null,undefined 他们都是只有一种值
4.enum(枚举) --enumerate 有限的可能性(性别,星期)
5.any(变体变量:可以存任何值) js里原本的变量
6.微软:工具:vb,vc和tsc 语言:.net,asp
类型推测(根据初始化值推测类型官方叫隐式类型声明)
var a:12 等于 var a:number
var a; 等于 var a:any
7.冲突检测:(编译器会自动排除掉无用的选项)虽然比不了jbk里面的javac,但是已经很不错了
8.联合类型
var a=number|boolean
9.数据也有类型
var a:类型[ ]=xxx

函数类型

1.参数:有类型,签名检查一个数,类型,得对
外部声明变量 declare
2.返回值
复合类型(object Type)
var a:{
x:number,y:number,z?
}
a:{x:12,y:4}
3.接口(interface)
*和java的接口类不一样
4.真面向对象:
class写法,extend,多继承......
5.访问修饰符:
1.public 公有 任何人可以访问
2.private 私有 只有类内部可以访问
3.protected 受保护(友元) 只有子类能用

泛型

别跟any搞混了
any:类型随便
泛型:类型随便,假如是类型number,里面必须所有都是number
array:内部其实是泛型

你可能感兴趣的:(typeScript)