科技速递|TypeScript 4.0发布,新增可变参数元组类型等( 五 )
定制JSX工厂使用JSX时 , 片段是JSX元素的一种 , 它允许返回多个子元素 。 大多数鼓励使用JSX和支持片段的其他库都具有类似的API形状 。
TypeScript 4.0中 , 用户可以通过新jsxFragmentFactory选项来自定义片段工厂 。
例如 , 下面代码实现和React兼容的方式转换JSX , 但将每个工厂调用切换为而不是 , 并使用代替 。
{"compilerOptions": {"target": "esnext","module": "commonjs","jsx": "react","jsxFactory": "h","jsxFragmentFactory": "Fragment"}}
如果需要基于每个文件使用不同的JSX , 则可以利用新的/** @jsxFrag */实用注释 。 例如 ,
import { h, Fragment } from "preact";let stuff = <>Hello>;/** @jsxFrag Fragment */import { h, Fragment } from "preact";let stuff = h(Fragment, null,h("div", null, "Hello"));build模式下的速度改进--noEmitOnError以前 , 使用该标志时 , 在先前编译时出现错误而导致的程序之后编译程序将非常慢 。 这是因为来自上一次编译的任何信息都不会基于该标志被缓存在文件中 。 --incremental--noEmitOnError.tsbuildinfo--noEmitOnError
TypeScript 4.0对此进行了更改 , 从而在这些情况下极大地提高了速度 , 并进而改善了模式情况(这意味着和) 。
--incremental与--noEmit
TypeScript 4.0允许在利用编译时使用该标志 。 以前不允许这样做 。 但是 , 启用更快的增量构建的用例足够重要 , 可以为所有用户启用 。
编辑器改进TypeScript编译器不仅可以为大多数主要编辑器提供TypeScript本身的编辑体验 , 还可以为Visual Studio系列编辑器等提供JavaScript体验 。 根据编辑器 , 在编辑器中使用新的TypeScript/JavaScript功能会有所不同 , 但是
Visual Studio Code支持选择不同版本的TypeScript 。 另外 , 还有JavaScript /TypeScript Nightly Extension可以保持最新发展(通常非常稳定) 。
Visual Studio 2017/2019具有上述SDK安装程序和MSBuild安装程序 。
转换为可选链接可选链接是一项新功能 , 受到了广泛的欢迎 。 这就是为什么TypeScript 4.0带来了新的重构来转换常见模式以利用可选链接和无效合并的原因!
Converting a时属性覆盖访问者或访问器覆盖属性只是错误 。 但是 , TypeScript现在在派生类中声明将覆盖基类中的getter或setter的属性时总是发出错误 。
class Base {get foo() {return 100;}set foo() {// ...}}
class Derived extends Base {foo = 10;// ~~~// error!// 'foo' is defined as an accessor in class 'Base',// but is overridden here in 'Derived' as an instance property.}class Base {prop = 10;}class Derived extends Base {get prop() {// ~~~~// error!// 'prop' is defined as a property in class 'Base', but is overridden here in 'Derived' as an accessor.return 100;}}delete的操作数必须可选当使用delete在操作strictNullChecks , 操作数现在必须是any , unknown , never , 或者是可选的(因为它包含undefined的类型) 。 否则 , 使用delete运算符会提示错误的 。
interface Thing {prop: string;}function f(x: Thing) {delete x.prop;// ~~~~~~// error! The operand of a 'delete' operator must be optional.}TypeScript的Node FactoryTypeScript提供了一组用于生成AST节点的"工厂"函数;但是 , TypeScript 4.0提供了新的节点工厂API 。 结果 ,TypeScript 4.0 , 推荐使用这些新功能 。
推荐阅读
- 所持股份|万兴科技:公司控股股东、实际控制人吴太兵质押150万股
- 发布公告|数量过半!博创科技:天通股份累计减持约150万股
- 英雄科技聊数码|蔡崇信有实力买下篮网,那身价3200亿的马云,能买下几支NBA球队
- 科技前沿阵地|涨疯了!海思安防芯片遭哄抬“围剿”
- 月影浓|吴亦凡机械造型走秀 垫肩披风搭银框眼镜科技感足
- 中国历史发展过程|中国历史发展过程.中国的科技史界过去半个多世纪
- 天津|桂发祥:不再持有昆汀科技股份
- 消费|减持!天通股份:减持博创科技约32万股
- 处罚|老周侃股:吉鑫科技大股东应补偿踩雷投资者
- 华中科技大学|杯具!超本科线95分,本科有路不走,却梦幻般碰瓷,撞开专科的门
