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

    文章

    2147

    浏览量

    35623
  • OpenHarmony
    +关注

    关注

    31

    文章

    3928

    浏览量

    20740
  • 鸿蒙OS
    +关注

    关注

    0

    文章

    193

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

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

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

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

    tscircuit - 电路开发的 React 范式​ 用TypeScript、React和 AI工具构建电子产品

    TypeScript、React 和 AI 工具构建电子产品。
    的头像 发表于 04-30 18:18 1227次阅读
    tscircuit - 电路<b class='flag-5'>开发</b>的 React 范式​   用<b class='flag-5'>TypeScript</b>、React和 AI工具构建电子产品

    鸿蒙北向开发OpenHarmony5.0 DevEco Studio开发工具安装与配置

    本文介绍OpenHarmony5.0 DevEco Studio开发工具安装与配置,鸿蒙北向开发入门必备!由触觉智能Purple Pi OH鸿蒙
    的头像 发表于 03-28 18:05 1373次阅读
    <b class='flag-5'>鸿蒙</b>北向<b class='flag-5'>开发</b>OpenHarmony5.0 DevEco Studio<b class='flag-5'>开发</b>工具安装与配置

    【北京迅为】itop-3568 开发板openharmony鸿蒙烧写及测试-2章OpenHarmony v3.2-Beta4版本测试

    【北京迅为】itop-3568 开发板openharmony鸿蒙烧写及测试-2章OpenHarmony v3.2-Beta4版本测试
    的头像 发表于 03-05 10:53 902次阅读
    【北京迅为】itop-3568 <b class='flag-5'>开发</b>板openharmony<b class='flag-5'>鸿蒙</b>烧写及测试-<b class='flag-5'>第</b>2章OpenHarmony v3.2-Beta4版本测试

    【北京迅为】itop-3568 开发板openharmony鸿蒙烧写及测试-1章 体验OpenHarmony—烧写镜像

    【北京迅为】itop-3568 开发板openharmony鸿蒙烧写及测试-1章 体验OpenHarmony—烧写镜像
    的头像 发表于 03-04 16:31 893次阅读
    【北京迅为】itop-3568 <b class='flag-5'>开发</b>板openharmony<b class='flag-5'>鸿蒙</b>烧写及测试-<b class='flag-5'>第</b>1章 体验OpenHarmony—烧写镜像

    【「极速探索HarmonyOS NEXT 」阅读体验】 初印象:一本纯血鸿蒙应用开发入门的好书

    的整体内容有了一个比较清晰的认识。它不仅对于初学者是一本易于入门的好书,对于常开发鸿蒙应用的工作者也是一本可以日常翻阅的好手册。 清晰的文章描述,资料的详细可查,极大的激发了我极大的学习
    发表于 03-04 12:41

    HarmonyOS 应用开发赋能套件:鸿蒙原生应用开发的 “神助攻”

    随着鸿蒙生态的快速发展,越来越多的开发者投身于鸿蒙原生应用的开发中。然而,在学习鸿蒙原生应用
    发表于 02-17 16:37

    华为推出HarmonyOS应用开发赋能套件

    随着鸿蒙生态的快速发展,越来越多的开发者投身于鸿蒙原生应用的开发中。然而,在学习鸿蒙原生应用
    的头像 发表于 02-12 13:57 885次阅读

    鸿蒙北向开发OpenHarmony4.1 DevEco Studio开发工具安装与配置

    OpenHarmony4.1 DevEco Studio开发工具安装与配置,鸿蒙北向开发入门必备!
    的头像 发表于 02-07 17:35 1389次阅读
    <b class='flag-5'>鸿蒙</b>北向<b class='flag-5'>开发</b>OpenHarmony4.1 DevEco Studio<b class='flag-5'>开发</b>工具安装与配置

    独家教程揭秘【一】:Purple Pi 带你7入门OpenHarmony!

    大家好!我是一名刚入门OpenHarmony的小白,很高兴能够和大家一起学习OpenHarmony,在本系列文章里,我将分享使用PurplePiOH从零开始学习开源鸿蒙的整个流程,并提
    的头像 发表于 01-20 14:40 782次阅读
    独家教程揭秘【一】:Purple Pi 带你7<b class='flag-5'>天</b><b class='flag-5'>入门</b>OpenHarmony!

    #新年新气象,大家新年快乐!#AIGC入门鸿蒙入门

    、配置SDK等。 3. 开发实践**: 学习鸿蒙系统的架构和API,了解其组件化、分布式等特性。 通过官方文档和社区资源,学习和掌握
    发表于 01-13 10:46

    AIGC入门鸿蒙入门

    JDK、配置SDK等。 3. 开发实践: 学习鸿蒙系统的架构和API,了解其组件化、分布式等特性。 通过官方文档和社区资源,学习和掌握
    发表于 01-13 10:32

    OpenHarmony源码编译后烧录镜像教程,RK3566鸿蒙开发板演示

    本文介绍瑞芯微主板/开发板编译OpenHarmony源码后烧录镜像的教程,触觉智能Purple Pi OH鸿蒙开发板演示。搭载了瑞芯微RK3566四核处理器,树莓派卡片电脑设计,支持开源鸿蒙
    的头像 发表于 12-30 10:08 1564次阅读
    OpenHarmony源码编译后烧录镜像教程,RK3566<b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>板演示

    OpenHarmony怎么修改DPI密度值?触觉智能RK3566鸿蒙开发板演示

    开源鸿蒙OpenHarmony系统下,修改DPI密度值的方法,触觉智能Purple Pi OH鸿蒙开发板演示,搭载了瑞芯微RK3566四核处理器,Laval鸿蒙社区推荐
    的头像 发表于 12-24 11:46 1122次阅读
    OpenHarmony怎么修改DPI密度值?触觉智能RK3566<b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>板演示