typescript基础学习---1

本文介绍了如何安装和配置TypeScript,包括全局安装、运行编译以及生成tsconfig.json文件。同时,文章讲解了类型注解、类型推断、模块配置、基本类型、联合类型和交叉类型等核心概念,特别提到了any、never和unknown类型的使用场景。
摘要由CSDN通过智能技术生成

安装typescript

// 全局安装typescript
npm install -g typescript

// 运行
tsc ts文件
tsc ts文件 -w 持续运行

设置ts配置文件

        这里只有部分配置,其它可以自己看看官网

// 生成tsconfig.json文件
tsc --init

// 设置转换的js文件输出目录
"outDir": "./dist",   // 默认是./ 我现在设置在当前目录dist文件夹下
注意上面修改后要输入tsc全局执行一下才行


// 设置转换后js代码风格 默认是commonjs
"module": "ES6",

类型注解和类型推断

// 这里规定了a必须是字符串
let a:string = "123"

a = 123 //这里会报错


let b = 321 // 在vscode中鼠标悬浮会自动进行类型推断

类型分类

        基本类型

              string、number、boolean、null、undefined、symbol、bigint

        对象类型(object)

                []   {}   function(){}

         Ts新增类型

                any never void unknown enum

let s:string = "abc";
let c:object = []

// 联合类型
let a:string | number;
a = 123
a = "abc"

// 交叉类型(一般用在对象类型中)
type A ={
    username:string
}

type B ={
    age:20
}

let a:A&B = {username:'123',age:20}

never类型与any类型与unknown类型

// never:一般用来做校验
// 这个就会提示,不能将类型“number”分配给类型“never”
let a:string & number = 123 

// 作用
function foo(n: 1 | 2 | 3) { //这里表示n只能是1或2或3
  switch (n) {
    case 1:
      break
    case 2:
      break
    default:
    // 检测n是否可以走到这里,查看所有值是否被使用
    let m: never = n
  }
}



// any:任意类型 与js相同
let b: any = 123
b.map(()=>{}) //不检测



// unknown类型
let arr: unknown = 'hello'
// any类型不进行检测,unknown使用ts会检测
// arr.map(() => {}) 会被检测 

类型断言与非空断言

// unknown类型
let arr: unknown = 'hello'
// arr.map会被断言报错,类型断言是为了让它通过编译阶段
(arr as []).map(() => {})

let b: string | undefined = undefined
// b.length 报错提示b是未定义
b!.length // 非空断言告诉只能是字符串

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_20047659

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值