美文网首页
day01-TypeScript-基本类型

day01-TypeScript-基本类型

作者: 东邪_黄药师 | 来源:发表于2024-02-25 22:40 被阅读0次

类型注解

  • TypeScript 是 JS 的超集,TS 提供了 JS 的所有功能,并且额外的增加了:类型系统所有的 JS 代码都是 TS 代码
    JS 有类型(比如,number/string 等),但是JS 不会检查变量的类型是否发生变化,而 TS 会检查
    TypeScript 类型系统的主要优势:可以显示标记出代码中的意外行为,从而降低了发生错误的可能性
// 相当于省略了 :number, 会自动进行类型推论, 根据初始值来推论
// let age = 18
let age: number = 18
console.log(age)
// string 基本数据类型
let username: string = '佐罗'
username.slice
let bool: boolean = false
bool = true
let gender: undefined = undefined
let hobby: null = null

类型注解总结:

  1. 将来不能将其他类型的值赋予这个变量
  2. 代码有提示, 在变量后面 . 可以直接看到当前类型所支持的所有属性和方法

TypeScript类型概述

可以将 TS 中的常用基础类型细分为两类

  • 1.JS 已有类型
    原始类型,简单类型( number/string/boolean/null/undefined
    复杂数据类型(数组,对象,函数等
  • 2.TS 新增类型
    联合类型
    自定义类型(类型别名)
    1.接口
    2.元组
    3.字面量类型
    4.枚举
    5.void
    6.and so on

原始数据类型

let age: number = 18
let username: string = '佐罗'
let bool: boolean = false
let gender: undefined = undefined
let hobby: null = null

数组类型

数组类型的两种写法:

// 写法一
let nums:number[] = [1,2,3,4]
// 写法二
let nameArr:Array<string> = ["zhangsan","lisi","wangwu"]

联合类型

需求:数组中既有 number 类型,又有 string 类型,这个数组的类型应该如何写?

let arr: (number | string)[] = [1, 'a', 3, 'b']

解释: | (竖线)在 TS 中叫做联合类型,即:由两个或多个其他类型组成的类型,表示可以是这
些类型中的任意一种
注意:这是 TS 中联合类型的语法,只有一根竖线,不要与 JS 中的或(|| 或)混淆了

  let timerId: number | null = null
    timerId = setTimeout(() => {}, 1000)

类型别名

目标:能够使用类型别名给类型起别名

  • 类型别名(自定义类型) :为任意类型起别名
  • 使用场景:当同一类型(复杂)被多次使用时,可以通过类型别名,简化该类型的使用
type ArrayTpye = (number | string) []
let arr1:ArrayTpye = [1,"2",3,"4"]

type ItemType = number | string
let arr5: ItemType[] = [1, 2, 3, 'abc']
let str1: ItemType = '123'

  // 总结: 将一组类型存储到「变量」里, 用 type 来声明这个特殊的「变量」

总结

    1. 使用 type 关键字来创建自定义类型
    1. 类型别名(比如,此处的 ArrayTpye )可以是任意合法的变量名称
    1. 推荐使用大写字母开头
    1. 创建类型别名后,直接使用该类型别名作为变量的类型注解即可

相关文章

网友评论

      本文标题:day01-TypeScript-基本类型

      本文链接:https://www.haomeiwen.com/subject/xlaaadtx.html