【TS】基本类型

news2024/11/16 1:22:51

基本类型

类型例子描述
number1, -33, 2.5任意数字
string'hi', "hi", hi任意字符串
booleantrue、false布尔值true或false
字面量其本身限制变量的值就是该字面量的值
any*任意类型
unknown*类型安全的any
void空值(undefined)没有值(或undefined)
never没有值不能是任何值
object{name:'孙悟空'}任意的JS对象
array[1,2,3]任意JS数组
tuple[4,5]元素,TS新增类型,固定长度数组
enumenum{A, B}枚举,TS中新增类型

  1. 布尔值 (Boolean)

    let isDone: boolean = false;

  2. 数字 (Number)

    let decimal: number = 6;
    let hex: number = 0xf00d;
    let binary: number = 0b1010;
    let octal: number = 0o744;
     
  3. 字符串 (String)

    let color: string = "blue";
    color = 'red';
     
  4. 数组 (Array)

    let list: number[] = [1, 2, 3];
    
     // 使用数组泛型
    let list: Array<number> = [1, 2, 3];
     
  5. 元组 (Tuple)

    let x: [string, number];
    
    // 正确
    x = ["hello", 10]; 
    
    // 错误
    x = [10, "hello"]; 
     
  6. 枚举 (Enum)

    enum Color {Red, Green, Blue}
    let c: Color = Color.Green;
     
  7. 任意 (Any)

    let notSure: any = 4;
    
    notSure = "maybe a string instead";
    
    // 正确,any 类型可以赋值为任何类型
    notSure = false; 
     
  8. 空值 (Void)

    function warnUser(): void {
      console.log("This is my warning message");
    }
    // 通常用于函数没有返回值的情况
    let unusable: void = undefined; 
     
  9. Null 和 Undefined

    let u: undefined = undefined;
    
    let n: null = null;
     
  10. Never

    function error(message: string): never {
      throw new Error(message);
    }
    function infiniteLoop(): never {
      while (true) {}
    }
     
  11. 对象 (Object)

    let obj: object = { prop: 0 };
     

类型断言

类型断言允许你手动指定一个值的类型。有两种形式:

  1. 尖括号语法

    let someValue: any = "this is a string";
    let strLength: number = (<string>someValue).length;
     
  2. as 语法

    let someValue: any = "this is a string";
    let strLength: number = (someValue as string).length;
     

联合类型

联合类型允许一个变量拥有多个类型之一:

let value: string | number;

// 正确
value = "hello"; 

 // 正确
value = 10;

// 错误
value = true; 
 

交叉类型

交叉类型允许一个变量拥有多个类型的所有特性:

interface A { a: number }

interface B { b: string }

let x: A & B = { a: 1, b: "hello" };



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1984287.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

鸿蒙HarmonyOS开发:如何使用第三方库,加速应用开发

文章目录 一、如何安装 ohpm-cli二、如何安装三方库1、在 oh-package.json5 文件中声明三方库&#xff0c;以 ohos/crypto-js 为例&#xff1a;2、安装指定名称 pacakge_name 的三方库&#xff0c;执行以下命令&#xff0c;将自动在当前目录下的 oh-package.json5 文件中自动添…

面对电商渠道品牌要如何控价

在当今竞争激烈的市场环境中&#xff0c;品牌销售渠道的管理至关重要。线上和线下渠道的低价、窜货问题犹如侵蚀品牌根基的蚁穴&#xff0c;若不加以有效治理&#xff0c;品牌价值将受到严重损害。 线上渠道方面&#xff0c;除了利用系统精准监测低价情况外&#xff0c;还应注重…

手撕数据结构之二叉树

1.树 树的基本概念与结构 树是⼀种⾮线性的数据结构&#xff0c;它是由 n&#xff08;n>0&#xff09; 个有限结点组成⼀个具有层次关系的集合。把它叫做树是因为它看起来像⼀棵倒挂的树&#xff0c;也就是说它是根朝上&#xff0c;⽽叶朝下的。 • 有⼀个特殊的结点&…

python语言day2

字符串&#xff1a; 字符串的方法 字符串格式化&#xff1a; 输出结果&#xff1a; 姓名张三今年123岁&#xff0c;现在在北京工作,名字叫张三 text "姓名{0}今年{1}岁&#xff0c;现在在{2}工作,名字叫{0}".format("张三",123,"北京") print(t…

关于冒泡算法

一、前言 当谈及经典排序算法时&#xff0c;冒泡排序&#xff08;Bubble Sort&#xff09;无疑是最具代表性的一种。这种算法以其简单直观的特点&#xff0c;成为初学者理解排序基本概念的理想选择。本文将深入解析冒泡排序的原理、实现步骤&#xff0c;以及其在 C# 编程中的具…

【Vue】RuoYi-Vue 若依 vue3 版本安装 tailwindcss 不生效问题

解决方法 删除默认安装教程下的 postcss.config.js 将配置转移到 vite.config.js 中&#xff0c;不生效原因我推测是因为 vite.config.js 配置 postcss 这段覆盖了 postcss.config.js 所致 代码修改如下&#xff1a; 另外原博主友情提示&#xff0c;引入的TailwindCSS的样式…

已解决AttributeError: module ‘emoji‘ has no attribute ‘get_emoji_regexp‘

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

遥感技术在生态系统碳储量、碳收支、碳循环以及人为源排放反演等领域的技术发展

卫星遥感具有客观、连续、稳定、大范围、重复观测的优点&#xff0c;已成为监测全球碳盘查不可或缺的技术手段&#xff0c;卫星遥感也正在成为新一代 、国际认可的全球碳核查方法。目的就是梳理碳中和与碳达峰对卫星遥感的现实需求&#xff0c;系统总结遥感技术在生态系统碳储量…

synchronized 与 Lock 的区别

synchronized 与 Lock 的区别 1、相同点2、不同点2.1 精确性与灵活性2.2 性能2.3 使用便利性 3、示例3.1 synchronized 示例3.2 Lock 示例 4、总结 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 在Java多线程编程中&#xff0c;synchroniz…

查找并可视化非线性关系

使用部分依赖图 (PDP)、互信息和特征重要性分析非线性关系 刚开始开车时&#xff0c;你的经验较少&#xff0c;有时还会比较鲁莽。随着年龄的增长&#xff0c;你会获得更多的经验&#xff08;和意识&#xff09;&#xff0c;发生事故的可能性也会降低。然而&#xff0c;这种趋势…

Java语言程序设计基础篇_编程练习题*16.6 (演示TextField的属性)

目录 题目&#xff1a;*16.6 (演示TextField的属性) 习题思路 代码示例 结果展示 题目&#xff1a;*16.6 (演示TextField的属性) 编写一个程序&#xff0c;动态地设置文本域的水平对齐属性和列宽属性&#xff0c;如图16-38a所示 习题思路 创建一个HBox&#xff0c;一个Labe…

【前端】记录各种控制台警告/bug

一、Element Plus 1、控制台警告&#xff1a;“Runtime directive used on component with non-element root node. The directives will not function as intended.” 错误原因&#xff1a;在 Vue 组件上使用了运行时指令&#xff08;指那些在运行时动态绑定到 DOM 元素上的指…

bilibili实习生一面0625

OSI七层模型 物理层&#xff1a;将帧中的比特传送到下一个节点&#xff08;比特&#xff09; 数据链路层&#xff1a;将数据包装成帧并传送到路径上下一个节点&#xff0c;将相邻节点间不可靠的物理链路变成可靠的逻辑链路&#xff08;帧&#xff09; 网络层&#xff1a;路由寻…

信创数据库沙龙(深圳站 | 开启报名)

信创数据库沙龙: 是一个致力于推动数据库技术创新和发展的高端交流平台&#xff0c;旨在增强国内数据库产业的自主可控性和高质量发展。这个平台汇集了学术界和产业界的顶尖专家、学者以及技术爱好者&#xff0c;通过专题演讲、案例分享和技术研讨等丰富多样的活动形式&#x…

Tkinter Canvas 如何在顶部绘制文本?

在 Tkinter 的 Canvas 上绘制文本非常简单&#xff0c;我们可以使用 create_text 方法来完成这个任务。create_text 方法允许我们指定文本的位置、内容以及字体等属性。为了确保文本绘制在顶部&#xff0c;我们可以设置 y 坐标接近 Canvas 的顶部。 1、问题背景 在使用 Tkinte…

响应式高端大气的模板源码图库素材资源下载平台网站源码,无加密无后门

好看的响应式高端网站模板源码图库素材 资源下载平台源码&#xff08;可运营&#xff09;可用于做资源网&#xff0c;功能非常的齐全无任何加密也无任何后门&#xff01;响应式高端网站模板源码图库素材 资源下载平台源码。这个是独立的网站源码&#xff0c;不依赖wordpress等第…

本地部署Perplexity 克隆:使用Llama 3.1实现高效搜索

最近&#xff0c;OpenAI宣布推出Search GPT&#xff0c;这基本上是Perplexity的改版&#xff0c;但直接由OpenAI开发。这让我非常高兴&#xff0c;因为与其让第三方使用他们的模型并提供封装服务&#xff0c;不如他们自己来做。我一直不喜欢Perplexity&#xff0c;因为他们声称…

【C++ | 泛型编程】C++函数模板详解(定义、使用、特化、重载)

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; &#x1f923;本文内容&#x1f923;&a…

Stable Diffusion绘画 | 图生图-局部重绘(三)

重绘区域 整张图片 指重绘的分辨率是应用在整个画面上的&#xff0c;会整个画面综合参与运算。 选择一片空白区域&#xff0c;提示词添加 a book&#xff1a; 操作生成图片&#xff1a; SD会觉得整个画面中&#xff0c;蒙版区域出现一本书不太合理&#xff0c;索性生成一张木…

【多模态】43、INF-LLAVA | 使用双视角裁剪和双视角增强模块来提升模型对大分辨率图片的处理能力

论文&#xff1a;INF-LLaVA: Dual-perspective Perception for High-Resolution Multimodal 代码&#xff1a;https://github.com/WeihuangLin/INF-LLaVA 出处&#xff1a;厦大 时间&#xff1a;2024.07.23 贡献&#xff1a; 提出了双视角裁剪模块&#xff08;Dual-perspe…