我正在将我的Java LIBGDX游戏移植到Javascript。有一些JSNI代码看起来像这样:
private native void hello()
/*-{
var object1 = {default: 'foo', b: 42};
console.log(object1.default);
}-*/;
GWT拒绝编译它,给我一个错误:
[ERROR] Line 38: invalid property id
> var object1 = {default: 'foo', b: 42, c: {}};
> ------------------------^
我在本地Javascript中尝试了相同的代码,它运行得很好。
我猜"default"是GWT不允许使用的某种关键字,但我需要使用它,因为它是我需要将对象发送到的接口所期望的,特别是Facebook Instant SDK及其LocalizableContent对象。
任何帮助都将不胜感激!
使其成为字符串而不是标识符:
private native void hello() /*-{
var object1 = {'default': 'foo', b: 42};
console.log(object1['default']);
}-*/;