首页 > 其他分享 >来学习typescript 吧! --2基础类型(any、unknown )

来学习typescript 吧! --2基础类型(any、unknown )

时间:2024-12-04 10:33:41浏览次数:3  
标签:typescript -- unknown let 类型 anyType any

一、nodejs 环境执行ts

1、安装类型定义包 (只在开发和测试阶段被使用,而在生产环境中不会被包含)

npm i @types/node --save-dev

 

2、安装 TypeScript 执行器 -- 允许你直接运行 TypeScript 文件

npm i ts-node --g

 

二、any类型 -- top type

1.没有强制限定哪种类型,随时切换类型都可以 我们可以对 any 进行任何操作,不需要检查类型

let anyType: any = 1;
anyType = "string";
anyType = true;
anyType = [1, 2, 3];
anyType = { name: "2any" };
anyType = () => { };
anyType = null;
anyType = undefined;
anyType = Symbol("2any");
anyType = {};
anyType = () => { };
anyType = 123;

 

2.声明变量的时候没有指定任意类型默认为any

let anyType2; // 等价于 let anyType2: any;

anyType2 = 1;

anyType2 = "string";

 

3.弊端如果使用any 就失去了TS类型检测的作用

 

三、unknown类型 -- top type

1.与any类型一样,都可以接收任意类型,但是unknown类型更加安全,不能对unknown类型的变量进行任何操

let value: unknown;
value = 1;
value = "string";
value = true;
value = [1, 2, 3];
value = { name: "2any" };
// ...

 

2.只能赋值给unknown类型和any类型

let bbb:unknown = '123'
let aaa:any= '456'
aaa = bbb


//报错
let names:unknown = '123'
let names2:string = names

区别1:
//any可以随意赋值
let names:any = '123'
let names2:string = names  

 

 

区别2:

unknown类型不能调用属性和方法,any类型可以调用属性和方法

 

let names: unknown = '123'
names.length // 报错

let names2: any = '123'
names2.length // 没问题
names2.toString() // 没问题
 

标签:typescript,--,unknown,let,类型,anyType,any
From: https://www.cnblogs.com/zhuangdd/p/18585769

相关文章

  • vxe-table 一键切换编辑模式、只读模式
    vxe-table可以编辑模式和只读模式的参数是editConfig.enabled当需要编辑时就启用,当不需要编辑时就关闭官网:https://vxetable.cn/<template><div><vxe-buttonstatus="primary"@click="toggleReadonly">切换</vxe-button><vxe-gridv-bind=&q......
  • SpringBoot 赋能校园失物招领:构建便捷寻物新生态
    1绪论1.1课题背景身处网络时代,随着网络系统体系发展的不断成熟和完善,人们的生活也随之发生了很大的变化。目前,人们在追求较高物质生活的同时,也在想着如何使自身的精神内涵得到提升,而读书就是人们获得精神享受非常重要的途径[1]。纸质版的书籍比较沉重,携带不方便,而由于手机......
  • 空气质量检测平台js爬虫逆向分析
    空气质量检测平台JS爬虫逆向分析本文将展示如何使用Python构建一个爬虫,抓取空气质量检测平台的数据,并对其进行逆向分析。1.背景介绍我们需要抓取空气质量检测平台提供的实时空气质量数据。在此过程中,我们遇到了一个常见的问题:请求的数据是经过加密的,需要我们对请求和响应的JS......
  • 自动驾驶行业精英,正疯狂涌入具身智能赛道!
    近日,又有多位自动驾驶领域技术大佬被爆出入局具身智能(大模型和人形机器人)赛道,包括:智驾芯片上市公司【地平线】创始成员、副总裁、前软件平台产品线总裁余轶南(博士)离职,已进入具身智能领域创业;前【小米汽车】自动驾驶产品技术负责人和量产负责人刘方已成立具身智能概念公司(9月注......
  • 0 成本拥有自己的短链接工具:API 生成全攻略
    在当今的短信营销与社群推广领域,短链接的应用极为广泛。相较于长链接,它具有显著优势:字符占用少,能大幅节约推广成本;与营销文案融合度高,便于传播,且更易吸引用户点击。众多短链接还具备分组管理、有效期设定、自定义后缀、防封防红以及数据追踪统计等实用功能,已然成为众多企业营......
  • 究竟何种办公软件适合广告公司团队协作?
    在当今竞争激烈的广告行业中,团队协作的效率至关重要。拥有一款强大的可视化团队协同办公软件,能够极大地提升广告公司的工作效率和项目管理水平。下面,我们将为大家盘点6款可视化团队协同办公软件,其中包括备受好评的板栗看板,以及国外的5款相关软件。一、板栗看板板栗看板是一......
  • 铠侠 Mixed Use SSD CD8-V CD8P-V系列对比KCD81VUG1T60 KCD81PJE1T60
    铠侠CD8-V、CD8P-V系列是专为数据中心而设计的混合用途NVMe™SSD,旨在支持各种规模扩展和云应用,包括大数据/IoT、在线事务处理和虚拟化。CD8-V系列为2.5inch盘,CD8P-V系列有两种规格选择,2.5inch或E3.S,今天我们选取1600GB容量为例,进行参数对比,了解一下两个系列硬盘的差异。......
  • css 设置透明凹槽圆角,常用于手机端的底部导航,或者优惠券之类的样式风格,这里分享项目中
     .footer{position:fixed;left:0;border:none;bottom:0;width:100%;box-sizing:border-box;z-index:2;padding:0.75rem0.375rem0.5rem0.375rem;background-color:#fff;border-radius:0.75rem0.75rem00;......
  • 精品:HOOPS Exchange SDK 2024.8.0
    领先的CAD导入和导出库使用HOOPSExchangeSDK进行CAD数据转换,将30多种CAD文件格式导入您的应用程序,通过单一API即可快速准确地读取和写入2D和3DCAD文件格式,包括CATIA®、SOLIDWORKS®、Inventor™、Revit™、Creo®、NX™、SolidEdge®等。快速准确的C......
  • 如何使用流式渲染技术提升用户体验
    什么是流式渲染?流式渲染主要思想是将HTML文档分块(chunk)并逐块发送到客户端,而不是等待整个页面完全生成后再发送。流式渲染不是什么新鲜的技术。早在90年代,网页浏览器就已经开始使用这种方式来处理HTML文档。在SPA(单页应用)流行的时代,由于SPA的核心是客户端动态地渲染内容......