当前位置: 首页 > news >正文

ts基础入门d2 pixpin截图

ts基础入门d2 pixpin截图

D1回顾

ts是超集、静态:在编译时便会代码检查

命令行编译:需先下载npm i -g typescript
然后 tsc hello.ts 会将ts文件生成js文件、tsc --init 是将ts转为js的配置文件、tsc --watch监视文件中所有ts的变化

属性加?代表可选可不选

类型

string number boolean null undefined symbol object(Array、function...)
any unknown never void tuple enum type interface

大写的Number、String是包装对象object
str2=new String('hello')

断言

不是类型转换,是明确类型

D2速成

常用类型

  • let a:any 就不会推断a的类型了、且any可以赋值给任意类型的变量、可以调用其任何属性

  • let a:unknown 当你不知道该变量的类型、unknown不能赋值给其他类型(除非加if或者断言)、不能调用其任何属性

    • let x:string
    • x=a as string
    • x=<string> a
  • function demo():never{} 限制函数不能顺利调用(死循环or不可正常运行完)never一把是ts自动推断出来的

  • function:void 可以return undefined void类型:后续不可用返回值作后续任何事情(if判断之类)(undefined类型则可以)

  • let a:object object类型是非原始类型,a可以存储非原始类型

    • a={} //[1,2] function(){} new String("123")
  • let b:Object b也可以存储原始类型 b=1 但b不能存null和undefined

  • 索引签名

let person:{
name:string,
age?:number
[key:string]:any}person={
name:'tt',
age:18,
gender:'female'}
  • 函数
let count:(a:number,b:number)=>number  //=>这个剪头代表函数类型
count=function(a:number,b:number):number{  //js中的=>代表具体函数实现
return a+b
}
  • let arr2:Array<string> 这个Array是泛型

  • 元组 tuple不是关键字

    • let arr1:[string,number] 规定类型和个数
    • let arr2:[number,...string[]] 后面的...string[]表示任意多个
  • enum 枚举

表示一组明确的可选址

enum Direction{Up,Down,Left,Right}  //可以给成员设置初始值,Up=10...、若是字符串枚举,每个成员都要有字符串值,Up="Up"
fucntion changeDirection(data:Direction){
console.log(data)
}
changeDirection(Direction.Up)
 数字枚举:自动递增字符串枚举 Up='up'常量枚举  const enum
  • type
    能为任意类型创造别名
    type Status=number | string 联合类型
    type Gender="男" | “女” 联合类型
    type Area={ height:number,width:number}
    交叉类型 type1 & type2

  • 特殊情况

type Func = ()=> void  
const f1:Func =function(){
return 999}  //type定义函数限制返回值为void  写函数时可以有返回值
http://www.sczhlp.com/news/12679/

相关文章:

  • 打印沙漏
  • 树上 DP(树形 DP 换根 DP)
  • 读书笔记:数据库的保存与撤销:程序员必须懂的提交与回滚原理
  • 忽有故人心上过,回首山河已是秋
  • 排卡
  • windows安装ubuntu 22
  • RPC框架的优化
  • 面向对象(三大特点→内部类)+异常
  • 若干背包模型 powered by ddxrS
  • Makefile变量赋值操作符详解:`:=`与`+=`的区别与使用
  • UAC
  • 鸽巢
  • yny组合计数
  • unixODBC编程(八)使用滚动游标
  • unixODBC编程(九)分片查询长数据
  • 题解 P3380【模板】树套树(莫队套分块)
  • unixODBC编程(四)插入数据
  • 考研题:假设二叉树采用二叉链存储结构,设计一个算法,计算该二叉树中结点的总数。
  • 2.11 rt-thread实操 esp8266 +webserver
  • unxiODBC编程(五)错误处理
  • Kotlin基础
  • JAVA学习(8月15号)
  • 硬币购物
  • Docker知识点2 - Charon
  • unixODBC编程(二)连接数据库
  • 河南萌新联赛2025第(五)场题解:I J(LCA)
  • Ruby 和 Tesseract OCR 实现验证码识别
  • Kotlin 和 Tesseract OCR 实现验证码识别
  • ReasonRank:从关键词匹配到逻辑推理,排序准确性大幅超越传统方法
  • 【ARM Cache 及 MMU 系列文章 6.2 -- ARMv8v9 如何读取 Cache 内部数据并对其进行解析?】