I don't know why (perhaps the "strict mode" is always active with Qt?), but you to use 0o11 to force octal encoding to avoid confusion with binary encoding (0b11).
QJSEngine eng; auto jsv = eng.evaluate("(function(){return 0o11;})()"); qDebug() << jsv.isError() << jsv.toString() << jsv.toVariant(); Regards Fabrice Mousset > -----Ursprüngliche Nachricht----- > Von: Interest <interest-boun...@qt-project.org> Im Auftrag von Hamish > Moffatt via Interest > Gesendet: Dienstag, 3. August 2021 08:36 > An: Qt Interest <interest@qt-project.org> > Betreff: [Interest] QJSEngine won't evaluate octal literal > > I have the following test code to evaluate an octal literal which I'm running > on > Qt 5.12 and 5.15; > > QJSEngine eng; > auto jsv = eng.evaluate("(function(){return 011;})()"); > qDebug() << jsv.isError() << jsv.toString() << jsv.toVariant(); > > This outputs: > > true "SyntaxError: Expected token `;'" QVariant(QVariantMap, QMap()) > > > It works if I use hex literals, and the octal code works in node.js. Why > doesn't > it work in QJSEngine? > > > Hamish > > _______________________________________________ > Interest mailing list > Interest@qt-project.org > https://lists.qt-project.org/listinfo/interest _______________________________________________ Interest mailing list Interest@qt-project.org https://lists.qt-project.org/listinfo/interest