Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript 类型脚本在ES11语法上崩溃_Typescript_Ecmascript Next_Ts Node - Fatal编程技术网

Typescript 类型脚本在ES11语法上崩溃

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

当我尝试使用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.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"]
}