TypeScript类型声明

类型系统

目录

  • 类型系统
    • 目录
    • 类型推断
      • 字符串
      • 数值
      • 布尔值
      • bigint
      • object
    • 类型声明
      • 字符串
      • 数值
      • bigint
      • 布尔

首先说明一下,本人是前端小学生级别的菜鸡,吐槽的话请口下留情,在评论区指出错误或者补充不足,我会很喜欢,互喷不会进步,相互指点才会。。。。谢谢大家啦

类型推断

📌如果我们编写了代码,但是不主动给代码加上类型的声明的话,系统会自动给我们的代码进行类型推断的,不推荐。

字符串

下例中系统会根据值推断akun 变量为 String,当将 akun 设置为 18 的 Number 类型时编译时将报误,因为Number 类型不能赋值给String类型

// 字符串
let Takun = "akun.com"; //string
// akun = 18; // error

数值

ts 中的数值类型包括了小数、负数、整数,都是Number

// 数值
let Takun02 = 100; //let akun : number
// Takun02 = "akun.com"; //error
Takun02 = 100.1; //ok
Takun02 = -101; //ok

布尔值

值为 true 或 false 会被推断为 boolean 类型

// 布尔类型
let Takun03 = true;
// Takun03 = 18; //error

bigint

📌bigint 类型包含所有的大整数。

// bigint类型
let Takun04: bigint = 123n;
let Takun05: bigint = 0xffffn;

object

根据 JavaScript 的设计,object 类型包含了所有对象、数组和函数

// object类型
const Takun06: object = { foo: 123 };
const Takun07: object = [1, 2, 3];
const Takun08: object = (n: number) => n + 1;

上面示例中,对象、数组、函数都属于 object 类型。

类型声明

📌尽量不要使用系统自动推断的类型,因为,你可能遇到错误。所以我们要主动声明,使用:声明类型

字符串

使用:string声明字符串

// 字符串
const Sakun01: string = "hello";
const Sakun02: string = `${Sakun01} world`;

数值

在 TS 中不区分整数与浮点数,都使用 number 来声明

// 数值
const Sakun03: number = 99;
const Sakun04: number = 99.99;

bigint

bigint 类型包含所有的大整数。

// 比金
const Sakun05: bigint = 123n;
const Sakun06: bigint = 0xffffn;

bigint 与 number 类型不兼容。

const x:bigint = 123; // 报错
const y:bigint = 3.14; // 报错

📌上面示例中,bigint类型赋值为整数和小数,都会报错。注意,bigint 类型是 ES2020 标准引入的。如果使用这个类型,TypeScript 编译的目标 JavaScript 版本不能低于 ES2020(即编译参数target不低于es2020)。

布尔

使用 boolean 来声明布尔类型

// 布尔
const Sakun07: boolean = true;
const Sakun08: boolean = false;

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

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

相关文章

Jmeter多个请求按照比例并发压测的几种方式

🍅 视频学习:文末有免费的配套视频可观看 🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 一、需求 在压测的过程中,为了能够压测整个链路,通常需要多个接口进行并…

Markdown如何分页操作

Markdown导出分页操作 在平时的文档导出过程中Markdown过程中会出现因为不能分页导致的排版问题。 排版问题在将Markdown文档导出为PDF或其他格式时尤为明显。当文档内容超过一页时,无法自动调整页面布局,导致内容不连续,甚至导致图片或表格…

【每日刷题】Day66

【每日刷题】Day66 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. 小乐乐改数字_牛客题霸_牛客网 (nowcoder.com) 2. 牛牛的递增之旅_牛客题霸_牛客网 (nowcoder.com)…

预编译、函数变量提升

函数声明会覆盖变量的声明,也就是会提升到最前面。 形参传进来相当于变量声明,所以当有函数声明时,会被覆盖。

(四十)vuex之四个map辅助函数

文章标题 概述使用方式mapStatemapGettersmapActionsmapMutations 上一篇:(三十九)Vue之集中式的状态管理机制Vuex 概述 Vuex辅助函数是一组用于简化在Vue.js应用程序中使用Vuex状态管理库的函数。这些辅助函数可以帮助我们在组件中更轻松地…

计算机组成原理之定点加法与减法运算

文章目录 补码的加减法算法的流程与逻辑实现溢出判断溢出原因单符号位判断双符号位(变形补码) 基本的加法/减法器舍入方法习题 补码的加减法 数用补码表示,符号位参与运算 考虑几个问题? 1.实际操作能否只取决于操作码&#xff1f…

python-求分数序列和

[题目描述]: 输入: 输入一行一个正整数n(n≤30)。输出: 输出一行一个浮点数,表示分数序列前n 项的和,精确到小数点后4位。样例输入1 2 样例输出1 3.5000 来源/分类(难度系数:一星)…

web前端写页面:探索页面构建的四个维度、五大要点、六大技巧与七大挑战

web前端写页面:探索页面构建的四个维度、五大要点、六大技巧与七大挑战 在数字化时代,Web前端作为连接用户与网页内容的桥梁,其页面构建技能显得尤为关键。然而,如何在复杂的开发环境中高效、优雅地构建页面,是每个前…

concept

concept是给模板添加限制条件&#xff0c;如果条件不符&#xff0c;代码无法通过编译。类似SFINAE的语法糖。 1. 示例一 #include <algorithm> #include <iostream> #include <concepts> #include <type_traits>template<class T> concept Int…

和鲸科技执行总裁殷自强:面向空间数据协同分析场景的模型生命周期管理方法

导读&#xff1a; 由 ACM SIGSPATIAL 中国分会主办的第五届空间数据智能学术会议&#xff08;SpatialDI 2024&#xff09;于 2024 年 4 月 25 日- 27 日在南京圆满召开&#xff0c;主题为“ AGI 时代下的空间数据智能”&#xff0c;旨在深入推动空间数据智能研究的理论进步与应…

模型实战(23)之 yolov10 使用总结及训练自己的数据集

yolov10 使用总结及训练自己的数据集 0. yolov10 原理分析 此处参考:https://blog.csdn.net/CVHub/article/details/139204248论文:https://arxiv.org/pdf/2405.14458源码:https://github.com/THU-MIG/yolov10 论文原理分析: 创新: 双标签分配策略 众所周知,标签分配策略…

Web前端图片居中:一探究竟的四个方面、五个要点、六大技巧和七大实践

Web前端图片居中&#xff1a;一探究竟的四个方面、五个要点、六大技巧和七大实践 在Web前端开发中&#xff0c;图片居中是一个看似简单却常常让人头疼的问题。无论是在响应式布局中&#xff0c;还是在静态页面中&#xff0c;图片居中都需要考虑到多种因素和技巧。本文将从四个…

Eclipse 重构菜单

Eclipse 重构菜单 Eclipse 是一款广受欢迎的集成开发环境(IDE),它提供了强大的代码编辑、调试和重构功能。在软件开发过程中,重构是一种重要的实践,它可以帮助开发者改进代码结构,提高代码的可读性和可维护性,而不改变其外部行为。Eclipse 的重构菜单包含了多种实用的工…

Sockets (套接字)的使用

Sockets &#xff08;套接字&#xff09;编程是连接网络上两个节点以相互通信的一种方式。一个套接字&#xff08;节点&#xff09;侦听IP上的特定端口&#xff0c;而另一个套接字则连接到另一个。当客户端连接到服务器时&#xff0c;服务器形成侦听器套接字。 1 创建套接字 …

矩阵的迹(Trace)

矩阵的迹&#xff08;Trace&#xff09; flyfish 矩阵的迹&#xff08;Trace&#xff09;是指一个方阵&#xff08;即行数和列数相同的矩阵&#xff09;对角线元素之和。就是在一个正方形的数字表格里&#xff0c;沿着从左上角到右下角的对角线&#xff0c;把这条线上所有的数…

星期六-本周的学习内容全面复习和总结!

本周共学习以下的基础内容&#xff1a; 样本空间和事件的集合表示&#xff1b; 数列极限的定义 随机事件的概率 对于本周的学习内容进行全面复习和总结是一个重要的学习过程&#xff0c;这有助于巩固记忆和提高理解能力。以下是一些步骤和建议&#xff1a; 收集资料&#x…

【嵌入式DIY实例】-Nokia 5110显示DS3231 RTC数据

Nokia 5110显示DS3231 RTC数据 文章目录 Nokia 5110显示DS3231 RTC数据1、硬件准备与接线2、代码实现本文将介绍如何使用 ESP8266 NodeMCU 板和 DS3231 RTC 模块制作一个简单的数字实时时钟,其中可以使用连接到 NodeMCU 的两个按钮设置时间和日期,并将它们打印在诺基亚 5110 …

STM32学习 BKP

BKP就是备份寄存器的意思&#xff0c;听名字就知道它的作用就是用来备份数据的。下面是手册当中的描述。备份寄存器是42个16位的寄存器&#xff0c;可用来存储84个字节的用户应用程序数据。他们处在备份域 里&#xff0c;当VDD电源被切断&#xff0c;他们仍然由VBAT维持供电。当…

【JavaEE精炼宝库】多线程(6)线程池

目录 一、线程池的概念及优势 1.1 线程池的概念&#xff1a; 1.2 线程池的优势&#xff1a; 二、工厂模式 三、标准库中的线程池 3.1 标准库线程池参数解释&#xff1a; 3.1.1 corePoolSize | maximumPoolSize&#xff1a; 3.1.2 keepAliveTime | unit&#xff1a; 3.1…

原型模式--深复制/浅复制

原型模式用于克隆复杂对象&#xff0c;由于new一个实例对象会消耗大部分时间&#xff0c;所以原型模式可以节约大量时间 1 public class Sheep implements Cloneable{2 private String name;3 private Date birth;4 public Sheep(String name, Date birth) {5 …