强类型与弱类型
强类型语言不允许随意的隐式类型转换
静态类型与动态类型
- 静态类型:一个变量声明时他的类型就是明确的,声明过后他的类型就不允许改变
- 动态类型:在运行阶段才能够明确变量的类型,而且变量的类型也可以随时发生改变,在javascript中变量是没有类型的,而其中所存放的值是有类型的
JavaScrip自有类型系统的问题
JavaScript是弱类型且是动态类型
-
弱类型问题:程序异常在运行时才能发现
-
强类型的优势
- 错误更早的暴露
- 代码更智能,编码更加准确
- 重构更牢靠
- 减少在代码层面的判断
Flow静态类型检查方案
静态类型检查器
yarn add flow-bin flow-remove-types
在文件中@flow
function fun(a:number){}
TypeScript语言规范与基本应用
yarn init --yes
yarn add typescript
原始数据类型
const a:string='foo'
const b:number=100
const c:boolean=true
const e:void=undefined
const f:null=null
const g:undefined=undefined
export {}//确保跟其他文件没有成员冲突
数组类型
const arr1 Array<number>=[1,2,3]
const arr2 number[]=[12,34,5]
//元组
const foo:[string,number]=['foo',133]
对象类型
const foo:object=function (){}
const obj:{foo:number,bar:string}={foo:123,bar:'string'}
网友评论