TypeScript中的空合并操作符(?)是否比JavaScript';s

TypeScript中的空合并操作符(?)是否比JavaScript';s,javascript,typescript,browser-support,Javascript,Typescript,Browser Support,在JavaScript中,(?)仅限于较新的浏览器(例如Chrome 80、Edge 80、Firefox 72)。既然TypeScript被转换成JavaScript,那么null合并操作符是否也会进行某种转换,有点像polyfill 空聚结运算符是否也要进行某种转换,有点像多边形填充 TypeScript被传输到JavaScript。到目前为止,是的,null合并将被传输,以及tsconfig中的targetES版本尚不支持的所有其他语法 例如,在TS中: obj.foo ?? 5; 传送

在JavaScript中,(?)仅限于较新的浏览器(例如Chrome 80、Edge 80、Firefox 72)。既然TypeScript被转换成JavaScript,那么null合并操作符是否也会进行某种转换,有点像polyfill

空聚结运算符是否也要进行某种转换,有点像多边形填充

TypeScript被传输到JavaScript。到目前为止,是的,null合并将被传输,以及tsconfig中的
target
ES版本尚不支持的所有其他语法

例如,在TS中:

obj.foo ?? 5;
传送到

"use strict";
var _a;
(_a = obj.foo) !== null && _a !== void 0 ? _a : 5;
Math.pow(3, 5);
类似地,求幂运算符:

3 ** 5
传送到

"use strict";
var _a;
(_a = obj.foo) !== null && _a !== void 0 ? _a : 5;
Math.pow(3, 5);

如果您的目标是ES2015或更早。(求幂运算符是在ES2016中引入的。)否则,如果您的目标是ES2016或更高版本,它不会被传输。

为什么不使用一个并通过“查看源”查找?Typescript实际上没有任何浏览器支持;它在构建时被转换为JavaScript。它们是否转换为其他内容取决于您如何定位您的打字脚本构建。感谢您的礼貌、帮助和描述。