typescript学习笔记

2023-11-16

typescript学习笔记

一、简介

typescript是js的超集,主要学习ts里面的原始类型、字面量类型、数组类型、函数类型、类类型、接口类型、类型别名、联合交叉类型、枚举类型、泛型等类型元素,以及类型推断、类型断言、类型缩小、类型放大等特性。
更加严谨。编写代码的时候静态类型的校验。

npm install -g typescript@4.5.3

在项目文件夹中执行 tsc -init 表示ts初始化项目

tsc -init

二、原始类型

let str = '1234'; // 根据初始的赋值来推导出变量的类型,以后str的类型不能改变了
// str = 2; // 报错 原因:变量在定义的时候,类型已经确定下来了,不能修改
const num = 1; // 常量不能改变指向(不能被修改),所以它的值就是它的类型
// num = '2' // 报错: 原因:常量不能改变指向(不能被修改)

// ts 的原始类型有哪些? js基础数据类型: number string boolean undefined null symbol
// ts 原始数据类型就是 js基础数据类型
let str1:string = "1";
let bool:boolean = false;
let num1:number = 10;
let und:undefined = undefined;
let nul:null = null;
let sy:symbol = Symbol("123");
let vo:void = undefined;

三、非原始类型

// object Object {}
export {} 
let obj:object = {a:1};
let arr:object = [1];
// object 不包含基础数据类型

let obj1:Object = {a:1}
// Object 包含基础数据类型

let obj2:{} = {a:2};

let obj3:{} = '3'
// {} 等效于Object 也包含基础数据类型

四、数组类型

export {}
// let arr:object = [1,2,3]
// 数组的元素一般数据类型都一致,便于管理
let arr1:number[] = [1,2,3]; // 表示定义的数组中每一项都是数字类型
let arr2:string[] = ['1','2','3']
// 泛型 类型参数化
let arr3:Array<number> = [10,20,30]

// 元组
let arr4:[number,number,boolean] = [10,20,true]

五、联合类型

export {}

//  | 联合类型

let str:number | string = '1'
str = 10 
let arr:(string | number)[] = ['1',2,'3']

// 1 | '2' 在这里表示 1 和 '2' 是类型, 常量,便是 numAndStr 的值 只能是 1 或者 '2'
let numAndStr:1 | '2' = 1;
numAndStr = '2'
// numAndStr = 2 // 报错

let obj:{a:1} | {b:'3'}; // | 或 表示要么有a属性,要么有b属性,不能有其他属性
obj = {a:1}
obj = {b:'3'}
obj = {a:1,b:'3'}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

typescript学习笔记 的相关文章

随机推荐

  • MyBatis-Plus的主键策略

    MyBatis Plus的主键策略 我们在为主键挑选生成策略的时候 可以看出有一下几种策略 下面我们一起看看他们的生成方式 值 描述 AUTO 数据库ID自增 NONE 无状态 该类型为未设置主键类型 注解里等于跟随全局 全局里约等于 IN
  • 一图读懂JVM架构解析

    每个Java开发人员都知道字节码经由JRE Java运行时环境 执行 但他们或许不知道JRE其实是由Java虚拟机 JVM 实现 JVM分析字节码 解释并执行它 作为开发人员 了解JVM的架构是非常重要的 因为它使我们能够编写出更高效的代码
  • 实验三 虚拟局域网的配置

    一 实验目的和要求 1 理解以太网交换机IEEE802 1q扩展帧的转发 过滤 机制 2 理解虚拟局域网的功能和划分方法 3 理解STP协议工作机制 3 掌握单个交换机和跨交换机的VLAN配置 4 掌握三层交换机的配置 二 实验设备 1 双
  • 高防IP是什么?有什么作用?

    最近不少来咨询的客户都问什么是高防IP 客户接入这个高防IP的话需要做些什么准备 今天就给大家科普一下什么是高防IP 他的原理是什么 客户接入需要做些什么 高防IP是指高防机房所提供的IP段 主要是针对网络中的DDOS攻击进行保护 在网络世
  • CompiledEffect Direct3D9 Sample fxc.exe

    转载于 https www cnblogs com Agravity p 5138141 html
  • 微信小程序——自定义日期时间组件实现

    目前 微信小程序选择器提供了日期选择器 时间选择器等 但没有日期时间一体的选择器 当项目中需要进行日期时间选择时 我们只有自定义组件了 首先 我们需要先了解一下小程序的picker组件 详细使用见链接 https developers we
  • UDP通过广播的形式发送、接收结构体

    UDP是一种无连接的 面向数据包的传输协议 通过广播的方式可以向多个接收方发送数据 在C 中 可以使用socket库来实现UDP广播的发送和接收 下面是一篇CSDN博文 介绍了如何使用C 通过广播的形式发送和接收结构体 一 UDP广播的发送
  • 电商的1000+篇文章总结

    电商的1000 篇文章总结 本文收集和总结了有关电商的1000 篇文章 由于篇幅有限只能总结近期的内容 想了解更多内容可以访问 http www ai2news com 其分享了有关AI的论文 文章 图书 query 6 合并大舞台的背后
  • cocos2dx:瓦片地图加载失败及黑线问题

    问题 1 瓦片地图加载失败 运行时 获取瓦片地图的层失败 调试发现 获取的层是一个 NULL 遇到这个问题 我第一反应是图片路径有问题 但经过检查发现 路径没有问题 然我就怀疑 是我的代码有问题 然而并没有 调试无果 我就把目光转向瓦片地图
  • 23种设计模式之模板方法模式

    文章目录 模板方法模式 模板方法模式的优缺点 使用场景 模板方法模式 模板方法模式法 Template Method 定义一个操作中的算法骨架 而将算法的一些步骤延迟到子类中 使得子类可以不改变该算法结构的情况下重定义该算法的某些特定步骤
  • pushd命令

    1 功能pushd命令常用于将目录加入到栈中 加入记录到目录栈顶部 并切换到该目录 若pushd命令不加任何参数 则会将位于记录栈最上面的2个目录对换位置2 语法 1 格式 pushd 目录 N N n 2 选项目录 将该目录加入到栈顶 并
  • 边界框回归的魔法:揭秘精准高效的MPDIoU损失函数

    文章目录 摘要 1 简介 2 相关工作 2 1 目标检测和实例分割 2 2 场景文本识别 2 3 边界框回归的损失函数 3 点距最小的并集交点 4 实验结果 4 1 实验设置 4 2 数据集 4 3 评估协议 4 4 目标检测的实验结果 4
  • 图神经网络与因果推理

    传统的因果推理基于线性结构方程模型 深度因果推理模型 这是基于图神经网络的模型 利用扁粉自动编码机来学习模型 其中 网络结构 因果推理模型为
  • iOS的终端命令和linux命令,iOS 终端 shell 操作,Mac 操作快捷键

    shell 操作命令 简单的shell 命令操作指令 pwd 当前工作目录 cd 不加参数 进root cd folder 进入文件夹 cd 上级目录 cd 返回root cd 返回上一个访问的目录 rm 文件名 删除 文件 rm 删除当前
  • vscode 配置文件

    将设置放入此文件中以覆盖默认设置 editor fontSize 18 editor fontFamily Source Code Pro Noto Sans CJK SC Consolas editor rulers 120 editor
  • 监听文件读取进度,中断文件读取

  • 使某个dom元素匀速滑动到容器顶部

    需求 我有个侧面的菜单 点击对应的菜单标题 可以让左侧的容易里对应标题滑到最顶上 于是我封装了一个缓动函数 这个函数接受3个参数 需要滚动的最外层的容器 滚动到什么距离 滚动时间 注意点 第一个参数的最外层的容器 需要滚动条 没滚动条是没有
  • Java AOP有5种增强方式注解——前置@Before,后置@After,返回@AfterReturning,异常@AfterThrowing,环绕@Around

    执行顺序 前置增强 gt 目标函数 gt 后置增强 gt 返回增强 异常增强 注意 Before After AfterRunning和 AfterThrowing修饰的方法没有返回值 而 Around修饰的方法必须有返回值 Aspect
  • 使用html制作3D循环相册

    使用 html 制作简单3D循环相册 注 img 标签中的 src 属性为你图片资源路径
  • typescript学习笔记

    typescript学习笔记 一 简介 typescript是js的超集 主要学习ts里面的原始类型 字面量类型 数组类型 函数类型 类类型 接口类型 类型别名 联合交叉类型 枚举类型 泛型等类型元素 以及类型推断 类型断言 类型缩小 类型