jso*_*onp 4 javascript browser-support typescript
在 JavaScript 中,浏览器对无效合并运算符(??) 的支持仅限于较新的浏览器(例如 Chrome 80、Edge 80、Firefox 72)。由于 TypeScript 被转换为 JavaScript,空合并运算符是否也经历了某种转换,有点像 polyfill?
空合并运算符是否也经过某种转换,有点像 polyfill?
TypeScript 被转换为 JavaScript。就目前而言,是的,将转译无效合并,以及target您的 tsconfig.js 中的 ES 版本尚不支持的所有其他语法。
例如,在 TS 中:
obj.foo ?? 5;
Run Code Online (Sandbox Code Playgroud)
被转译为
"use strict";
var _a;
(_a = obj.foo) !== null && _a !== void 0 ? _a : 5;
Run Code Online (Sandbox Code Playgroud)
同样,求幂运算符:
3 ** 5
Run Code Online (Sandbox Code Playgroud)
被转译为
Math.pow(3, 5);
Run Code Online (Sandbox Code Playgroud)
如果您的目标是 ES2015 或更早版本。(求幂运算符是在 ES2016 中引入的。)否则,如果你的目标是 ES2016 或更高版本,它不会被转译。