这篇文章主要介绍“TypeScript4.0的新功能怎么使用”,在日常操作中,相信很多人在TypeScript4.0的新功能怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”TypeScript4.0的新功能怎么使用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
可变参数元组类型
标记的元组元素
构造函数的类属性推断
短路分配运算符
catch
子句中的unknown
定制 JSX 工厂
带--noEmitOnError
参数build
模式下的速度提升
--incremental
with --noEmit
编辑器改进
转换为可选链接
支持/** @deprecated */
启动时的部分编辑模式
更智能的自动导入
Breaking Changes
当 noImplicitAny
被启用时,TypeScript 4.0
现在可以使用控制流分(control flow analysis)析来确定类中的属性类型。
class Square {
// Previously: implicit any!
// Now: inferred to `number`!
area;
sideLength;
constructor(sideLength: number) {
this.sideLength = sideLength;
this.area = sideLength ** 2;
}
}
如果并非将构造函数的所有路径都分配给实例成员,则该属性可能被视为undefined
。
class Square {
sideLength;
constructor(sideLength: number) {
if (Math.random()) {
this.sideLength = sideLength;
}
}
get area() {
return this.sideLength ** 2;
// ~~~~~~~~~~~~~~~
// error! Object is possibly 'undefined'.
}
}
在更清楚的情况下(例如具有某种initialize
方法),如果位于strictPropertyInitialization
中,可能会需要显式类型注释以及定值赋值断言(!
)
class Square {
// definite assignment assertion
// v
sideLength!: number;
// ^^^^^^^^
// type annotation
constructor(sideLength: number) {
this.initialize(sideLength)
}
initialize(sideLength: number) {
this.sideLength = sideLength;
}
get area() {
return this.sideLength ** 2;
}
}
JavaScript 和其他很多语言都支持复合赋值运算符。复合赋值运算符将一个运算符应用到两个参数上,然后将结果赋值到左边。如下:
/ Addition
// a = a + b
a += b;
// Subtraction
// a = a - b
a -= b;
// Multiplication
// a = a * b
a *= b;
// Division
// a = a / b
a /= b;
// Exponentiation
// a = a ** b
a **= b;
// Left Bit Shift
// a = a << b
a <<= b;
JavaScript 中的许多运算符都有一个对应的赋值运算符,但有三个例外:逻辑和(&&
)、逻辑或(||
),以及空值合并(??
)。
TypeScript 4.0 为上述三个运算符增加了对应的赋值运算符支持:
let values: string[];
// Before
(values ?? (values = [])).push("hello");
// After
(values ??= []).push("hello");
a ||= b;
// actually equivalent to
a || (a = b);
到此,关于“TypeScript4.0的新功能怎么使用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。