为了账号安全,请及时绑定邮箱和手机立即绑定

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

标签:
活动

课程名称: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")

点击查看更多内容
TA 点赞

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

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消