Typescript 类型脚本在ES11语法上崩溃
当我尝试使用ES11 nullish合并运算符时,typescript抛出错误的原因是什么 示例:Typescript 类型脚本在ES11语法上崩溃,typescript,ecmascript-next,ts-node,Typescript,Ecmascript Next,Ts Node,当我尝试使用ES11 nullish合并运算符时,typescript抛出错误的原因是什么 示例: const a = undefined; const b = a ?? 'test'; 其结果是: dev_project-shared_server | Using ts-node version 8.10.2, typescript version 3.9.5 dev_project-shared_server | /usr/src/app/services/server/src/index
const a = undefined;
const b = a ?? 'test';
其结果是:
dev_project-shared_server | Using ts-node version 8.10.2, typescript version 3.9.5
dev_project-shared_server | /usr/src/app/services/server/src/index.ts:21
dev_project-shared_server | const b = a ?? 'test';
dev_project-shared_server | ^
dev_project-shared_server |
dev_project-shared_server | SyntaxError: Unexpected token '?'
dev_project-shared_server | at Object.compileFunction (vm.js:344:18)
dev_project-shared_server | at wrapSafe (internal/modules/cjs/loader.js:1048:15)
dev_project-shared_server | at Module._compile (internal/modules/cjs/loader.js:1082:27)
dev_project-shared_server | at Module._compile (/usr/src/app/node_modules/source-map-support/source-map-support.js:547:25)
dev_project-shared_server | at Module.m._compile (/tmp/ts-node-dev-hook-7547668788214215.js:57:25)
dev_project-shared_server | at Module._extensions..js (internal/modules/cjs/loader.js:1138:10)
dev_project-shared_server | at require.extensions.<computed> (/tmp/ts-node-dev-hook-7547668788214215.js:59:14)
dev_project-shared_server | at Object.nodeDevHook [as .ts] (/usr/src/app/node_modules/ts-node-dev/lib/hook.js:61:7)
dev_project-shared_server | at Module.load (internal/modules/cjs/loader.js:982:32)
dev_project-shared_server | at Function.Module._load (internal/modules/cjs/loader.js:875:14)
dev_project-shared_server | [ERROR] 06:58:29 SyntaxError: Unexpected token '?'
节点的版本是什么? 零聚结算子??在nodejs v14上受支持:
TS 3.7中添加了对该操作员的支持:。您的ts节点和类型脚本似乎是最新的,我无法在本地复制该行为。虽然此链接可能会回答问题,但最好在此处包含答案的基本部分,并提供链接以供参考
{
"compilerOptions": {
"target": "ESNext",
"esModuleInterop": true,
"allowJs": true,
"skipLibCheck": true,
"moduleResolution": "node",
"module": "CommonJS",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"strict": true,
"noImplicitAny": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
"strictPropertyInitialization": false,
"noImplicitThis": true,
"alwaysStrict": true,
"forceConsistentCasingInFileNames": true,
"removeComments": true,
"sourceMap": true,
"declaration": true,
"outDir": "./dist",
"rootDir": "./src"
},
"exclude": ["node_modules", "dist"],
"include": ["**/*.ts"]
}