【发布时间】:2020-07-06 18:17:57
【问题描述】:
我正在使用 JSContext 和 JavaScriptCore 的其余部分。谁能向我解释为什么 evaluateScript 在第二个断言中失败了?
let context = JSContext()!
let obj1 = context.evaluateScript("[{ 'first': 'Grace', 'last': 'Hopper', 'year': 1906 }]")
assert(obj1?.isArray ?? false)
let obj2 = context.evaluateScript(" { 'first': 'Grace', 'last': 'Hopper', 'year': 1906 } ")
assert(obj2?.isObject ?? false)
为什么将对象包装在数组中有效,但原始对象无效?
【问题讨论】:
-
当一个语句以
{开头时,它被认为是一个块语句,而不是一个对象初始化器。
标签: javascript ios swift iphone javascriptcore