问题描述
我从MDN中按原样复制了粘贴的示例代码,但是可选链接在我的节点(v12.13.0)REPL中不起作用。抛出语法错误,指出问号后的点无效。这是怎么回事 ?我已经在React App中使用了这个表达式,它看起来运行良好。
const adventurer = {
name: 'Alice',cat: {
name: 'Dinah'
}
};
const dogName = adventurer.dog?.name;
console.log(dogName);
// expected output: undefined
console.log(adventurer.someNonExistentMethod?.());
// expected output: undefined
解决方法
仅在--harmony下用于Node 14: How to use optional chaining in Node.js 12
如果要在节点中使用此功能,则可以使用babel可选链接插件: https://babeljs.io/docs/en/next/babel-plugin-syntax-optional-chaining.html