第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

系統(tǒng)學(xué)習(xí) TypeScript(四)——變量聲明的初步學(xué)習(xí)

標(biāo)簽:
JavaScript Typescript

TypeScript

前言

认识了 TypeScript 中的基础类型,接下来当然是变量声明的相关学习了。

声明多维数组

假如有这么一个声明:

let arr3: number[][][];

想要知道 arr3 的具体类型,其分析步骤如下:

image-20220225151900823

可以看到,类型拆解是从右向左的,对应到具体变量值上就是从外向内一层层拆解的。

这里只是举个例子,稍微有点经验的人一眼就能判断出 arr3 是一个三维数组。但是,授人以鱼不如授人以渔,这个分析方法却适用于绝大多数复杂数据类型分析。

属性重命名

在有了 ES6 的解构赋值之后,我们可以这么声明变量:

let personInfo1 = {
    name: "编程三昧",
    age:22
}
let {name: nameP, age: ageP} = personalInfo1;

以上代码声明了 nameP 和 ageP 两个变量。需要注意的是:变量声明中,冒号后面跟的不是数据类型,而是新声明来替代原对象属性值的变量。

如果在 TypeScript 中,要指定 nameP 和 ageP 的数据类型,需要这么写:

let { name: nameP, age: ageP }: { name: string; age: number } = personInfo1;

其实这个类型指定可以放在对象声明中,指定对象每一项属性值的类型:

let personInfo1: { name: string; age: number } = {
    name: "编程三昧",
    age: 22
};

personInfo1.name = 12; // Error 不能将类型“number”分配给类型“string”

// let {name: nameP, age: ageP} = personInfo1;
let { name: nameP, age: ageP } = personInfo1;

nameP = 12; // Error 不能将类型“number”分配给类型“string”

let 和 const 的暂时性死区

以下代码在 TypeScript 中不会报错,但是在实际运行中会报错。

function foo(): number {
    return a1;
}
foo();

let a1: number = 12;

实际运行报错:

image-20220225144916570

我自己的理解是:静态编译时只负责检测数据类型是否正确,而动态运行时才会检测语法逻辑错误,恰好暂时性死区是在运行时才产生的。

总结

以上就是我在学习 TypeScript 变量声明时所记录的注意事项和总结。

~
本文完,感谢阅读!

~

学习有趣的知识,结识有趣的朋友,塑造有趣的灵魂!

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫(xiě)下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消