为了账号安全,请及时绑定邮箱和手机立即绑定
首页 手记 【金秋打卡】第25天 2小时极速入门...

【金秋打卡】第25天 2小时极速入门 TypeScript(3-8~3-9)

2022.11.17 09:58 56浏览

课程名称:2小时极速入门 TypeScript

课程讲师:阿莱克斯刘

课程内容:

今天课程学习的主要知识点内容包括:
1、void、undefined 与 Never;
2、类型适配 Type Assertions;

课程收获:

通过学习老师的视频课程和同学的公开笔记,主要收获如下:
1、void、undefined 与 Never
(1)函数没有任何返回的情况下,其返回值就是一个 void 类型;

function printResult()  {
  console.log("lalala")
}
等同于:
function printResult() : void {
  console.log("lalala")
}

console.log("hello", printResult())  // 打印 undefined

(2)undefined 是一个未经初始化的值,而 void 指的是变量压根就不存在;

function printResult() : undefined {
  console.log("lalala")
  return
}
console.log("hello "printResult())

(3)void 在原生 js 中不存在,所以 ts 中的 void 、undefined 的输出都是表现为 undefined;

(4)函数永远执行不完,就是 never 类型;

function throwError(message:string, errorCode:number) : never {
  throw {
    message,
    errorCode
  }
}
throwError("not found",404);

function whileLoop() : never {
  while (true) {
    console.log("haha")
  }
}

(5)在实际项目开发流程中,never 是用来控制逻辑流程的;大部分是用来处理异常和 promise 的;

2、类型适配 Type Assertions
简单理解,就是在变量定义之后,在后续使用的过程中,通过人为地告知编译器,目前变量的真正类型是什么,借以触发和使用自动联想功能。(务必需要100%确保指定类型的准确性,否则会引发严重的错误)

// 3-9 类型适配(类型断言)Type Assertions
let message any;
message "abc";
message.endswith("c")

let ddd (<string>message).endswith("c");
let ddd2 (message as string).endswith("c")

点击查看更多内容
0人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
手记
粉丝
1
获赞与收藏
7

关注TA,一起探索更多经验知识

同主题相似文章浏览排行榜

风间影月说签约讲师

51篇手记,涉及Java、MySQL、Redis、Spring等方向

进入讨论

Tony Bai 说签约讲师

151篇手记,涉及Go、C、Java、Python等方向

进入讨论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消