我正在开发一个Angular应用程序,我有以下代码:

    // ...
    this.x = y ?? z;
    // ...

当我运行ng serve时,我的终端会出现以下错误:

error TS1109: Expression expected.
error TS1005: ':' expected.

Module parse failed: Unexpected token (47:40)
You may need an appropriate loader to handle this file type.
|         // ...
|         this.x = y ?  ? z :  : ;
|         // ...

为什么要把零的coallesce(y ?? z)转换成三元的(y ? ? z : : )?

我试着在nullish coallesce周围添加方括号,但它并没有改变输出.

推荐答案

确保您使用的是支持空合并操作符的TypeScript版本.nullish合并运算符是在TypeScript 3.7中引入的.

Typescript相关问答推荐

TypScript如何在 struct 上定义基元类型?

Angular 过滤器形式基于某些条件的数组控制

VS代码1.88.0中未出现自动导入建议

有没有可能使用redux工具包的中间件同时监听状态的变化和操作

在动态对话框中使用STEP组件实现布线

类型脚本中没有接口的中间静态类

STypescript 件的标引签名与功能签名的区别

MatTool提示在角垫工作台中不起作用

AngularJS服务不会解析传入的Json响应到管道中的模型

Angular:ngx-echart 5.2.2与Angular 9集成错误:NG 8002:无法绑定到选项,因为它不是div的已知属性'

对象类型的TypeScrip隐式索引签名

如何正确调用创建的类型?

判断映射类型内的键值的条件类型

我可以使用typeof来强制执行某些字符串吗

如何使这种一对一关系在旧表上起作用?

错误:NG02200:找不到类型为';对象';的其他支持对象';[对象对象]';.例如数组

为什么在这种情况下,打字脚本泛型无法正确自动完成?

两个名称不同的相同打字界面-如何使其干燥/避免重复?

传入类型参数<;T>;变容函数

当受其他参数限制时,通用参数类型不会缩小