qml 函数的默认参数给出语法错误
此代码在浏览器托管的 JavaScript 环境中运行良好:
This code works fine in browser hosted JavaScript environment :
function foo(a=true)
{
console.log(a)
}
但是在 qml 中做同样的事情会导致 语法错误
.
But doing the same in qml is giving syntax error
.
我可能做错了什么?
推荐答案
在QML中,你应该把函数写成
In QML, you should write the function as
function foo(a) {
if (a === undefined) a = true
console.log(a)
}
语法
function foo(a=true)
不支持此语法,因为 ECMA-262 第 6 版 而 QML 仅实现 第五版(从 Qt 5.11 开始).
is not supported as this syntax was introduced in ECMA-262 6th edition while QML only implements the fifth edition (as of Qt 5.11).
相关文章