Аргументы по умолчанию для функции qml дают синтаксические ошибки

54
5

Этот код отлично работает в среде JavaScript, размещенной в браузере:

    function foo(a=true)
{
console.log(a)
}

Но делать то же самое в qml дает syntax error.

Что я могу сделать неправильно?

спросил(а) 2020-04-04T00:27:36+03:00 3 месяца назад
1
Решение
86

В QML вы должны написать функцию как

function foo(a) {
if (a === undefined) a = true

console.log(a)
}

Синтаксис

function foo(a=true)

не поддерживается, поскольку этот синтаксис был введен в 6-м издании ECMA-262, тогда как QML реализует пятое издание (начиная с Qt 5.11).

ответил(а) 2020-04-04T00:41:58.877806+03:00 3 месяца назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема