ts学习02-数据类型
新建index.html
<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><script src="./js/index.js"></script>
</body>
</html>
启动项目
npx tsc --watch

数据类型
- 布尔类型(boolean)
- 数字类型(number)
- 字符串类型(string)
- 数组类型(array)
- 元组类型(tuple)
- 枚举类型(enum)
- 任意类型(any)
- null 和 undefined
- void类型
- never类型
布尔类型
Boolean类型包含两个逻辑值,分别是true和false。
let flag: boolean = true;
flag = false;
flag = "";//报错
flag = 123;//报错
let trueTag: true = true;
trueTag = false;//报错,只能为true

数字类型
Number类型表⽰⼀个数字。不详细区分整数类型、浮点数类型以及带符号的数字类型等
var num:number=123;
num=456;
console.log(num); //正确
num='str'; //错误
字符串类型
String类型表⽰⽂本字符串,它由0个或多个字符构成
var str: string = "this is ts";
str = "haha"; //正确
str = true; //错误
数组类型
// 1.第一种定义数组的方式
var arr: number[] = [11, 22, 33];
console.log(arr);
//2.第二种定义数组的方式
var arr: Array<number> = [11, 22, 33];
console.log(arr);
元组类型
元组类型(tuple) 属于数组的一种
let arr: [number, string] = [123, "this is ts"];
console.log(arr);
枚举类型
枚举类型由零个或多个枚举成员构成,每个枚举成员都是⼀个命名的常量
enum Flag {success = 1,error = 2,
}let s: Flag = Flag.success;
console.log(s);
enum Flag2 {success = 1,error = 2,
}let f2: Flag2 = Flag2.error;
console.log(f2);

enum Color {blue,//0red,//1"orange",//2
}var c: Color = Color.red;console.log(c); //1 如果标识符没有赋值 它的值就是下标enum Color {blue,//0red = 3,//3"orange",//4
}var c: Color = Color.orange;
console.log(c); //4
也支持负数
enum Err {'undefined'=-1,'null'=-2,'success'=1};
var e:Err=Err.success;//1
console.log(e);
任意类型
var num: any = 123;
num = "str";
num = true;
console.log(num);//任意类型的用处
var oBox: any = document.getElementById("box");
oBox.style.color = "red";
null 和 undefined
null 和 undefined 其他(never类型)数据类型的子类型
var num1: number;
console.log(num1); //输出:undefined 报错
var num2: undefined;
console.log(num2); //输出:undefined //正确
var num3: number | undefined;
num3 = 123;
console.log(num3);
//定义没有赋值就是undefined
var num4: number | undefined;
console.log(num4);
var num5: null;
num5 = null;
//一个元素可能是 number类型 可能是null 可能是undefined
var num6: number | null | undefined;
num6 = 1234;
console.log(num6);
void类型
typescript中的void表示没有任何类型,一般用于定义方法的时候方法没有返回值。
//正确写法
function run(): void {console.log("run");
}run();//错误写法
function run4(): null {console.log("run");
}run4();function run5(): number {console.log("run");
}
run5();//新版ts这个也是正确的
function run2(): undefined {console.log("run");
}run2();//正确写法
function run3(): number {return 123;
}
run3();
never类型
是其他类型 (包括 null 和 undefined)的子类型,代表从不会出现的值。这意味着声明never的变量只能被never类型所赋值。
//报错的时候使用
function f(): never {throw new Error();
}function infiniteLoop(): undefined {while (true) {console.log("endless...");}
}function infiniteLoop2(): null {while (true) {console.log("endless...");}
}
//永远为true的for循环中
function infiniteLoop23(): never {while (true) {console.log("endless...");}
}
相关文章:
ts学习02-数据类型
新建index.html <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title> </h…...
javaSE的发展历史以及openjdk和oracleJdk
1 JavaSE 的发展历史 1.1 Java 语言的介绍 SUN 公司在 1991 年成立了一个称为绿色计划(Green Project)的项目,由 James Gosling(高斯林)博士领导,绿色计划的目的是开发一种能够在各种消费性电子产品&…...
【入门Flink】- 10基于时间的双流联合(join)
统计固定时间内两条流数据的匹配情况,需要自定义来实现——可以用窗口(window)来表示。为了更方便地实现基于时间的合流操作,Flink 的 DataStrema API 提供了内置的 join 算子。 窗口联结(Window Join) 一…...
【Python Opencv】图片与视频的操作
文章目录 前言一、opencv图片1.1 读取图像1.2 显示图像1.3 写入图像1.4 示例代码 二、Opencv视频2.1 从相机捕获视频获取摄像头一帧一帧读取显示图片VideoCapture 中的get和set函数示例代码 2.2 从文件播放视频示例代码 2.3 保存视频示例代码 总结 前言 在计算机视觉和图像处理…...
【从入门到起飞】JavaAPI—System,Runtime,Object,Objects类
🎊专栏【JavaSE】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【如愿】 🎄欢迎并且感谢大家指出小吉的问题🥰 文章目录 🍔System类⭐exit()⭐currentTimeMillis()🎄用…...
【Git】的分支和标签的讲解及实际应用场景
目录 讲解 环境讲述 分支标签的区别 分支 命令 场景应用 标签 命令 标签规范 讲解 环境讲述 当软件从开发到正式环境部署的过程中,不同环境的作用 开发环境:用于开发人员进行软件开发、测试和调试。在这个环境中,开发人员可以快速地…...
修改django开发环境runserver命令默认的端口
runserver默认8000端口 虽然python manage.py runserver 8080 可以指定端口,但不想每次runserver都添加8080这个参数 可以通过修改manage.py进行修改,只需要加三行: from django.core.management.commands.runserver import Command as Ru…...
kubeadm安装k8s高可用集群
目录 一、环境规划 二、注意事项: 三、环境准备: 1. 关闭防火墙规则,关闭selinux,关闭swap交换: 2. 修改主机名 3. 所有节点修改hosts文件: 4. 所有节点时间同步: 5. 所有节点实现Linux的资…...
来看看电脑上有哪些不为人知的小众软件?
电脑上的各类软件有很多,除了那些常见的大众化软件,还有很多不为人知的小众软件,专注于实用功能,简洁干净、功能强悍。 1.桌面停靠栏工具——BitDock BitDock是一款运行在Windows系统中的桌面停靠栏工具,功能实…...
一个进程最多可以创建多少个线程?
前言 话不多说,先来张脑图~ linux 虚拟内存知识回顾 虚拟内存空间长啥样 在 Linux 操作系统中,虚拟地址空间的内部又被分为内核空间和用户空间两部分,不同位数的系统,地址空间的范围也不同。比如最常见的 32 位和 64 位系统&am…...
ElasticSearch文档分析
ElasticSearch文档分析 包含下面的过程: 将一块文本分成适合于倒排索引的独立的 词条将这些词条统一化为标准格式以提高它们的“可搜索性”,或者 recall 分析器执行上面的工作。分析器实际上是将三个功能封装到了一个包里: 字符过滤器 首先&a…...
Xilinx FPGA平台DDR3设计详解(一):DDR SDRAM系统框架
DDR SDRAM(双倍速率同步动态随机存储器)是一种内存技术,它可以在时钟信号的上升沿和下降沿都传输数据,从而提高数据传输的速率。DDR SDRAM已经发展了多代,包括DDR、DDR2、DDR3、DDR4和DDR5,每一代都有不同的…...
Spring Data JPA方法名命名规则
最近巩固一下JPA,网上看到这些资料,这里记录巩固一下。 一、Spring Data Jpa方法定义的规则 简单条件查询 简单条件查询:查询某一个实体类或者集合。 按照Spring Data的规范的规定,查询方法以find | read | get开头&…...
【Leetcode Sheet】Weekly Practice 15
Leetcode Test 2586 统计范围内的元音字符串数(11.7) 给你一个下标从 0 开始的字符串数组 words 和两个整数:left 和 right 。 如果字符串以元音字母开头并以元音字母结尾,那么该字符串就是一个 元音字符串 ,其中元音字母是 a、e、i、o、u…...
人力资源社会保障部办公厅关于推行专业技术人员职业资格电子证书的通知
(人社厅发〔2021〕97号) 各省、自治区、直辖市及新疆生产建设兵团人力资源社会保障厅(局),中共海南省委人才发展局,国务院有关部门、直属机构人事部门,有关协会、学会: 为贯彻落实…...
什么是光电耦合器?如何选择型号及种类
光电耦合器(英文缩写为OC)亦称光电隔离器,简称光耦;以光为媒介传输电信号;它对输入、输出电信号有良好的隔离作用,是目前种类最多、用途最广的光电器件之一;所以,它在各种电路中得到广泛的应用。 光耦合器…...
hive里因为列名用了关键字导致建表失败
代码 现象 ParseException line 6:4 cannot recognize input near percent String COMMENT in column name or primary key or foreign key 23/11/13 11:52:57 ERROR org.apache.hadoop.hive.ql.Driver: FAILED: ParseException line 6:4 cannot recognize input near percent …...
MySQL 报错 incorrect datetime value ‘0000-00-00 00:00:00‘ for column
使用navicat导入数据时报错: MySQL 报错 incorrect datetime value ‘0000-00-00 00:00:00’ for column 这是因为当前的MySQL不支持datetime为0的情况。 MySQL报incorrect datetime value ‘0000-00-00 00:00:00’ for column错误原因,是由于在MySQL5.7…...
Jira Data Center(非集群)升级操作
一、升级准备 Jira 管理界面执行升级检查下载升级包,使用原操作方式相同的方式安装。我这里原来的版本是通过./atlassian-jira-software-9.11.2-x64.bin安装的,接下来下载atlassian-jira-software-9.11.3-x64.bin的安装文件停止 Jira,bin/st…...
Spring IOC - BeanDefinition解析
1. BeanDefinition的属性 BeanDefinition作为接口定义了属性的get、set方法。这些属性基本定义在其直接实现类AbstractBeanDefinition中,各属性的含义如下表所示: 类型 名称 含义 常量 SCOPE_DEFAULT 默认作用域:单例模式 AUT…...
SenseVoice实战:搭建智能客服语音质检系统,自动检测咳嗽清嗓等事件
SenseVoice实战:搭建智能客服语音质检系统,自动检测咳嗽清嗓等事件 在客服中心的质量检查工作中,质检人员每天需要监听大量通话录音,手动标记出咳嗽、清嗓等非语音事件。传统人工质检方式不仅效率低下,而且容易因疲劳…...
解锁Greasy Fork:四大场景化应用指南
解锁Greasy Fork:四大场景化应用指南 【免费下载链接】greasyfork An online repository of user scripts. 项目地址: https://gitcode.com/gh_mirrors/gr/greasyfork Greasy Fork作为开源用户脚本平台,为浏览器功能扩展提供了安全可靠的解决方案…...
音频格式转换:QMCDecode打破加密限制实现音乐自由管理
音频格式转换:QMCDecode打破加密限制实现音乐自由管理 【免费下载链接】QMCDecode QQ音乐QMC格式转换为普通格式(qmcflac转flac,qmc0,qmc3转mp3, mflac,mflac0等转flac),仅支持macOS,可自动识别到QQ音乐下载目录,默认转…...
AI Agent Skills 完全指南:从概念到实践,打造你的专属智能体能力库
文章目录一、什么是 Skills?AI Agent 的能力组件1.1 概念起源1.2 Skills 与传统 Prompt 的区别1.3 Skills 的典型应用场景二、主流 AI 编程工具的 Skills 生态2.1 Claude Code:Skills 的开创者2.2 Cursor:Composer 与 Agent 模式的 Skills2.3…...
TCP建立连接(三次握手)和连接释放(四次挥手)
文章目录1、TCP 建立连接(Establish)2、TCP 连接释放TCP是面向连接的协议,用来传输TCP报文的。TCP传输连接的建立和释放是每一次面向连接的通信中必不可少的过程。 1、TCP 建立连接(Establish) TCP建立连接的过程叫做…...
我从怀疑交智商税到真香,2026这款会议纪要自动生成软件真后悔没早用
上周开完3小时季度复盘会,散会leader丢一句“下班前把纪要整理好发我”,我对着录音逐句听了两个小时,错漏还一堆;上次跟客户谈合作,整理录音时把客户要求的交付时间写错,差点误事;做用户访谈录了…...
ESP32+PHP+MySQL:构建云端物联网数据可视化看板
1. 从零搭建ESP32物联网数据采集系统 第一次接触ESP32时,我被它强大的WiFi和蓝牙功能惊艳到了。这块售价仅几十元的小开发板,居然能轻松实现传感器数据采集和无线传输。今天我要分享的,就是如何用ESP32构建一个完整的物联网数据可视化系统。 …...
计算机视觉——疲劳检测、基于DNN的年龄性别预测
一、疲劳检测(基于 dlib 的人脸检测与 68 点关键点定位)1.1摘要疲劳检测是一类通过分析人体行为(如眼睛闭合、头部姿态、打哈欠等)来判断个体是否处于疲劳或注意力不集中的技术。它在驾驶员监控、驾驶安全、课堂学员状态检测、远程…...
Qwen2-VL-2B-Instruct惊艳案例:模糊截图→精准召回原始高清图(跨分辨率鲁棒性)
Qwen2-VL-2B-Instruct惊艳案例:模糊截图→精准召回原始高清图(跨分辨率鲁棒性) 你有没有遇到过这种情况?在网上看到一张特别喜欢的图片,但保存下来后发现它被压缩得模糊不清,或者只是一个低分辨率的小图。…...
14 - SVM的用户态API接口
难度: 🟡🔴 中级 预计学习时间: 2小时 前置知识: 第4章(核心数据结构)、第6章(范围管理) 📋 概述 SVM(Shared Virtual Memory)的用户态接口是上层框架(ROCm runtime、HSA runtime)与内核驱动之间的唯一公开契约。整个SVM用户态API只有一个IOCTL命令 AMDKFD_IOC_…...
