继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

慕仔9208797
关注TA
已关注
手记 60
粉丝 1
获赞 7

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

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP