TS 的数据注解

本节课我们来开始了解 TypeScript 的静态类型的概念和基础数据类型。

一.数据类型注解

1. 第一节课,我们说过 TypeSript 是一款面向对象的静态数据类型的语言;
2. 这里所谓的静态:当我们确定了一个类型的变量,这个变量的类型将不可改变;
3. 而类型的声明方式为:变量 : 类型名称,这种语法叫做类型注解;
// 强制变量必须是数值整型
let num : number = 100
// 再赋值时必须是数值整型
num = 300
// 输出这个值
console.log(num)
// 查看这个值的类型
console.log(typeof num)
PS:由于这里使用的 ts 的专用类型声明的语法,导致上一节课使用 node 03.ts 会报错;

4. 对于函数的参数可以设置类型注解,而函数本身的返回值也可以设置类型注解;
// 参数是 number,返回值是 string
function info(x : number) : string {
return x + 'Mr.Lee'
}
console.log(info(num))

5. 我们也可以使用数组注解,来限定数组内的值必须是指定的类型;
// 数组注解,意思为数组内的数据必须是 number
let arr : number[]
// 都是整型
arr = [1, 2, 3]

6. 如果说,我们要的数组元素第一个是数值,第二个是字符串,那该如何处理?
7. TS 提供了元组来声明数组内元素的数据类型,具体如下:
// 元祖
let arr : [number, string]
arr = [1, '2']
8. TS 还提供了一些特殊类型,具体如下:
1. any(任意值)
2. null(不存在的对象)
3. undefined(声明但未初始化赋值)
4. void(空值,无返回)
// any 任意值
let other : any = 'Mr.Lee'
other = 100
PS:使用 typeof other 发现,any 会自动推断当前赋值的类型;
// 左边 null 是类型,右边 null 是一个 null 值
let other : null = null
console.log(null)
//返回 null
console.log(typeof null)
//返回 object
// 未赋值的 a
let a
// a 符合 other 类型
let other : undefined = a
console.log(other)
function info() : void {
//如果有返回则错误
//return 123
console.log('123')
}

9. 当然,常规的其它类型都支持注解,比如布尔型和字符串型;
// 布尔值
let flag : boolean = true
// 将数值转换成布尔值也支持
let flag : boolean = Boolean(1)
// 字符串类型,和数值拼接后也是字符串
let str : string = 'Mr.Lee' + 100
PS:更多其它类型,后面会逐步涉及到~

你可能感兴趣的:(JavaScript,javascript,前端,vue.js)