TypeScript(一)

简介: TypeScript(一)

  • 给变量定义类型
let a:string;
a = '';//OK
a = 0;//Error
let a = ''; // 变量初始化时赋值。TS会自动对变量进行类型检测
a = 0;//Error
let a:string = '';
let b:number = 0;
let c:boolean = true;
let list:Array<number> = [1,2,3];
//或
let list:number[] = [1,2,3];
let x:[string,number];
    x = ['',0];
  x[3] = 'world'; // OK, 字符串可以赋值给(string | number)类型
  x[6] = true; // Error, 布尔不是(string | number)类型
//字面量指定值为10
let a:10;
    a = 10;// OK
  a = 11;// Error 字面量声明的指定值不可违反
// 使用逻辑或 | 扩大指定范围 ⬇ ⬇ ⬇
//指定值
let a:'你好' | '您好' = '你好';
  a = '你好';// OK
  a = '您好'; // OK
  a = '';// Error 字面量声明的指定值不可违反
//联合类型
let a:boolean | string;
  a = true;// OK
  a = '';// OK
  a = 0;// Error
// any 任意类型 开启动态类型 关闭TS类型检测
let a:any;//主动定义为any类型
//或
let a;//声明不指定类型,自动判断为any;  为隐式any
  a = '';
  a = 0;
  a = false;
  a = [1,2,3];
let b:string;
  b = a;// OK 允许将any类型的a赋值给string类型的b
// unknown 未知类型
let a:unknown;
  a = '';
  a = 0;
  a = false;
let b:string;
  b = a;// Error 不允许将unknown未知类型的a赋值给string类型的b
// 类型断言


  • 给函数参数定义类型
function sum(a:number,b:number) {
    return a + b;
}
sum(1,2)// OK return 3
sum(1,'2')// Error


  • 给函数返回值定义类型
function sum(a:number,b:number):number {
    return a + b;
}

相关文章
|
算法 固态存储 计算机视觉
Focaler-IoU开源 | 高于SIoU+关注困难样本,让YOLOv5再涨1.9%,YOLOv8再涨点0.3%
Focaler-IoU开源 | 高于SIoU+关注困难样本,让YOLOv5再涨1.9%,YOLOv8再涨点0.3%
448 0
|
Oracle 关系型数据库 Linux
Oracle 19c Centos7 静默安装记录整理 2
Oracle 19c Centos7 静默安装记录整理
|
8月前
|
人工智能 关系型数据库 分布式数据库
PolarDB 开源基础教程系列 7.4 应用实践之 AI大模型外脑
PolarDB向量数据库插件通过实现通义大模型AI的外脑,解决了通用大模型无法触达私有知识库和产生幻觉的问题。该插件允许用户将新发现的知识和未训练的私有知识分段并转换为向量,存储在向量数据库中,并创建索引以加速相似搜索。当用户提问时,系统将问题向量化并与数据库中的向量进行匹配,找到最相似的内容发送给大模型,从而提高回答的准确性和相关性。此外,PolarDB支持多种编程语言接口,如Python,使数据库具备内置AI能力,极大提升了数据处理和分析的效率。
303 4
|
12月前
|
计算机视觉
Opencv学习笔记(五):cv2.putText()和cv2.rectangle()详细理解
这篇文章详细介绍了OpenCV库中的`cv2.putText()`和`cv2.rectangle()`函数的使用方法,并通过一个实战例子展示了如何使用这些函数在图像上绘制文字和矩形框。
1139 0
Opencv学习笔记(五):cv2.putText()和cv2.rectangle()详细理解
|
7月前
|
容器
鸿蒙开发:相对布局RelativeContainer
当然了,RelativeContainer组件还有着其它的属性,但是最重要的也就是位置的摆放,其实也就是相对于锚点组件的摆放;通过上述的案例,我们不难发现,所谓的左上右下,反着来就是对的,比如在锚点上边,我用bottom,在锚点下面,我用top,在实际的开发中,可极大节约我们的开发时间。
140 4
鸿蒙开发:相对布局RelativeContainer
|
12月前
|
安全 网络协议 物联网
物联网僵尸网络和 DDoS 攻击的 CERT 分析
物联网僵尸网络和 DDoS 攻击的 CERT 分析
|
SQL 安全 网络协议
2022年浙江省职业院校技能大赛信息安全管理与评估 理论题答案
2022年浙江省职业院校技能大赛信息安全管理与评估 理论题答案
|
Web App开发 缓存 安全
让你的win10/win11系统变得不再卡顿,优雅草伊凡整理-长期更新-如何让windows操作系统不用老是重装依然保持流畅运行
如题:让你的win10/win11系统变得不再卡顿,优雅草伊凡整理-长期更新-如何让windows操作系统不用老是重装在不断的更新中依然保持流畅运行 本文长期更新,本次更新2023年11月8日! 很多时候 我们的win10win11系统不管再怎么关闭更新,都会莫名又被打开,莫名的关机和自动更新,总是在你不注意的时候就更新,因此大家也明白微软的厉害了,扯远了,但是频繁的更新会让系统特别卡,传统办法就是重装系统,因而还衍生了很多一件重装工具,但是每一次重装的代价都是巨大的我相信每个同学都明白。
725 4
|
消息中间件 Shell Go
GoLang 环境变量与配置
编程语言中的环境变量和配置管理是关键,Go 项目中配置文件不被打包,需通过环境变量解耦代码。
322 0