0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

鸿蒙TypeScript开发入门学习第3天:【TS基础类型】

jf_46214456 来源:jf_46214456 作者:jf_46214456 2024-03-28 15:02 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

1、TypeScript 基础类型

TypeScript 包含的数据类型如下表:

image.png

image.png

注意: TypeScript 和 JavaScript 没有整数类型。

2、Any 类型

任意值是 TypeScript 针对编程时类型不明确的变量使用的一种数据类型,它常用于以下三种情况。

1、变量的值会动态改变时,比如来自用户的输入,任意值类型可以让这些变量跳过编译阶段的类型检查,示例代码如下:

let x: any = 1;    // 数字类型
x = 'I am who I am';    // 字符串类型
x = false;    // 布尔类型

改写现有代码时,任意值允许在编译时可选择地包含或移除类型检查,示例代码如下:

let x: any = 4;
x.ifItExists();    // 正确,ifItExists方法在运行时可能存在,但这里并不会检查
x.toFixed();    // 正确

定义存储各种类型数据的数组时,示例代码如下:

let arrayList: any[] = [1, false, 'fine'];
arrayList[1] = 100;

3、Null 和 Undefined

null

在 JavaScript 中 null 表示 "什么都没有"。

null是一个只有一个值的特殊类型。表示一个空对象引用。

用 typeof 检测 null 返回是 object。

undefined

在 JavaScript 中, undefined 是一个没有设置值的变量。

typeof 一个没有值的变量会返回 undefined。

Null 和 Undefined 是其他任何类型(包括 void)的子类型,可以赋值给其它类型,如数字类型,此时,赋值后的类型会变成 null 或 undefined。而在TypeScript中启用严格的空校验(--strictNullChecks)特性,就可以使得null 和 undefined 只能被赋值给 void 或本身对应的类型,示例代码如下:

// 启用 --strictNullChecks
let x: number;
x = 1; // 编译正确
x = undefined;    // 编译错误
x = null;    // 编译错误复制复制

上面的例子中变量 x 只能是数字类型。如果一个类型可能出现 null 或 undefined, 可以用 | 来支持多种类型,示例代码如下:

// 启用 --strictNullChecks
let x: number | null | undefined;
x = 1; // 编译正确
x = undefined;    // 编译正确
x = null;    // 编译正确
鸿蒙OS开发更多内容↓点击HarmonyOSOpenHarmony技术
鸿蒙技术文档开发知识更新库gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md在这。或+mau123789学习,是v喔

搜狗高速浏览器截图20240326151547.png

4、never 类型

never 是其它类型(包括 null 和 undefined)的子类型,代表从不会出现的值。这意味着声明为 never 类型的变量只能被 never 类型所赋值,在函数中它通常表现为抛出异常或无法执行到终止点(例如无限循环),示例代码如下:

let x: never;
let y: number;

// 编译错误,数字类型不能转为 never 类型
x = 123;

// 运行正确,never 类型可以赋值给 never类型
x = (()= >{ throw new Error('exception')})();

// 运行正确,never 类型可以赋值给 数字类型
y = (()= >{ throw new Error('exception')})();

// 返回值为 never 的函数可以是抛出异常的情况
function error(message: string): never {
    throw new Error(message);
}

// 返回值为 never 的函数可以是无法被执行到的终止点的情况
function loop(): never {
    while (true) {}
}

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • HarmonyOS
    +关注

    关注

    80

    文章

    2157

    浏览量

    36441
  • OpenHarmony
    +关注

    关注

    33

    文章

    3989

    浏览量

    21480
  • 鸿蒙OS
    +关注

    关注

    0

    文章

    194

    浏览量

    5584
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    2小时搞定鸿蒙应用!零基础做出你的鸿蒙“处女作”

    的《HarmonyOS 应用开发快速入门》,直接打破零基础与开发之间的壁垒,不用具备任何开发经验,2小时就能做出专业程序员才能完成的轻应用,让普通人也能轻松拥有自己的
    的头像 发表于 04-17 14:04 194次阅读
    2小时搞定<b class='flag-5'>鸿蒙</b>应用!零基础做出你的<b class='flag-5'>鸿蒙</b>“处女作”

    Vue3 + React18 + TS4入门到实战 系统学习3大热门技术 | 更新完结

    Vue3 + React18 + TS4入门到实战 系统学习3大热门技术 | 更新完结 前端技术升级:Vue
    发表于 03-30 15:18

    鸿蒙生态·星光学堂鸿蒙应用开发者培训1期(长沙)成功举办!政企协同共育鸿蒙人才,助力区域数字产业

    1月9日,鸿蒙生态·星光学堂——鸿蒙应用开发者培训1期在长沙经开区正式开班。本次培训在长沙经开区管委会党建工作局的指导下,由鸿蒙生态(长沙
    的头像 发表于 01-12 18:03 650次阅读
    <b class='flag-5'>鸿蒙</b>生态·星光学堂<b class='flag-5'>鸿蒙</b>应用<b class='flag-5'>开发</b>者培训<b class='flag-5'>第</b>1期(长沙)成功举办!政企协同共育<b class='flag-5'>鸿蒙</b>人才,助力区域数字产业

    广东宏展 TS2/TS3 冷热冲击试验箱:从结构到原理的全面解读

    广东宏展TS2和TS3系列冷热冲击箱分别采用腔体切换与气流导向结构,TS2体积紧凑、性价比高,TS3功能更全面,适合不同行业需求。
    的头像 发表于 01-09 14:20 473次阅读
    广东宏展 <b class='flag-5'>TS</b>2/<b class='flag-5'>TS3</b> 冷热冲击试验箱:从结构到原理的全面解读

    迅为iTOP-Hi3516开发板驱动开发资料全面上线,构建从入门到精通的完整学习路径!

    迅为iTOP-Hi3516开发板linux驱动开发资料全面上线,构建从入门到精通的完整学习路径!
    的头像 发表于 12-19 15:47 961次阅读
    迅为iTOP-Hi3516<b class='flag-5'>开发</b>板驱动<b class='flag-5'>开发</b>资料全面上线,构建从<b class='flag-5'>入门</b>到精通的完整<b class='flag-5'>学习</b>路径!

    以龙企招为例,浅谈鸿蒙应用开发者激励计划 2025 参与心得

    的视觉体验规范,这也反映出我们对鸿蒙专属设计标准的学习不够透彻。 虽然上架申请未通过,但这份详尽的审核报告却让我们感受到了鸿蒙生态对开发者的用心。不同于简单的驳回,报告不仅明确指出
    发表于 12-12 10:17

    如何申请鸿蒙开发板?想体验鸿蒙生态。

    如何申请鸿蒙开发板?想体验鸿蒙生态。
    发表于 11-29 08:34

    集装箱储能系统标准解析系列(二)|IEC TS 62933-3-1电能存储系统的规划和性能评估

    IEC TS 62933-3-1电能存储(EES)系统 3-1部分:电能存储系统的规划和性能评估
    的头像 发表于 11-25 15:30 843次阅读
    集装箱储能系统标准解析系列(二)|IEC <b class='flag-5'>TS</b> 62933-<b class='flag-5'>3</b>-1电能存储系统的规划和性能评估

    【书籍评测活动NO.67】成为硬核Linux开发者:《Linux 设备驱动开发 2 版)》

    ,以获得最佳学习效果。1篇:Linux内核开发基础开篇从环境搭建入手,详细讲解如何获取Linux内核源码,在x86宿主机上配置ARM的Linux内核交叉编译选项并完成内核编译。接着深入内核模块知识
    发表于 11-17 17:52

    学习物联网怎么入门?

    景等。同时,学习物联网的基本技术,如传感器技术、通信技术、云计算等,也是非常重要的。 其次,选择适合自己的学习方式也是入门学习物联网的重要一步。
    发表于 10-14 10:34

    【HarmonyOS 5】金融应用开发鸿蒙组件实践

    【HarmonyOS 5】金融应用开发鸿蒙组件实践 ##鸿蒙开发能力 ##HarmonyOS SDK应用服务##鸿蒙金融类应用 (金融理财#
    的头像 发表于 07-11 18:20 1210次阅读
    【HarmonyOS 5】金融应用<b class='flag-5'>开发</b><b class='flag-5'>鸿蒙</b>组件实践

    【 HarmonyOS 5 入门系列 】鸿蒙HarmonyOS示例项目讲解

    【 HarmonyOS 5 入门系列 】鸿蒙HarmonyOS示例项目讲解 ##鸿蒙开发能力 ##HarmonyOS SDK应用服务##鸿蒙
    的头像 发表于 07-07 11:57 1270次阅读
    【 HarmonyOS 5 <b class='flag-5'>入门</b>系列 】<b class='flag-5'>鸿蒙</b>HarmonyOS示例项目讲解

    开鸿开发板深度体验:从开源鸿蒙开发到AI场景实践

    开鸿开发板KaihongBoard-3588S-SBCKaihongBoard-3576-SBC体验开源鸿蒙能力学习开源鸿蒙开发●●●搭载K
    的头像 发表于 07-03 17:03 2119次阅读
    开鸿<b class='flag-5'>开发</b>板深度体验:从开源<b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>到AI场景实践

    鸿蒙开发API9 到 API12,有哪些不同

    ​ ##HarmonyOS 应用开发## 虽然API9已经属于过时了,但是现在很多学校里教的还是基于API9的鸿蒙开发,当学生需要在毕业设计中使用API12进行开发时,还是需要先掌握一
    发表于 06-29 22:47

    使用DevEcoStudio 开发、编译鸿蒙 NEXT_APP 以及使用中文插件

    # 使用DevEcoStudio 开发、编译鸿蒙 NEXT_APP 以及使用中文插件 #鸿蒙开发工具 #DevEco Studio ## 1. 概述 DevEco Studio 是
    发表于 06-11 17:18