//相对于JavaScript,Typescript提供的功能更多了,很多写法类似javaScript
//其中比较好用的是对于数据类型的声明,如果没按照声明来写,在ts文件对应处就会有红色提示写错了。
//需要注意的是如果没像闭包的处理,直接tsc目录下的ts文件,虽然有js文件的生成,但是ts文件内容的变量,函数等就会红色提示。这简单可以理解成js和ts都在同一个局域内,不能让其重复声明了,所以需要一定的处理。
(function() {
// 数组-1
let arr: number[]
arr = [3, 7, 5, 'a', true]
// 数组-2
let array: Array<string>
array = ['a', 'b', 'c', 12341234, true]
// 元组
let tuple: [string, number, boolean]
tuple = ['abc', 789, false]
// 枚举
enum Color { RED, GREEN, BLUE }
let color: Color
color = Color.BLUE
// 联合类型
let i: number | string
i = 15
i = 'abc'
i = true
})()
//还有类型断言,就是在js中,一个数组有时候代码提示的方法可能不完整,那么在ts中给数据一定的设置后,那么提示的信息就会完整展示了。
(function(){
let someValue: any = "this is a string";
let strLength: number = (<string>someValue).length;
}())
//还有接口,在ts中能够规范变量的数据格式,在前后端交互时,可以提高效率。
interface ITodo {
readonly id: number
title: string
completed: boolean
userId?: string // 可选的属性
[key: string]: any // 额外的属性,表示当前对象可有其它的额外属性,目前不清楚属性名称与属性值
}
//在继承时可以在接口中用extends让其子元素用到父元素的数据或方法。
//还有private私有和public共有的声明