首页 > 试题广场 >

执行以下程序,会抛出语法错误的式子是() var s = S

[单选题]

执行以下程序,会抛出语法错误的式子是()


var s = Symbol('key'); ...①
console.log(s + '123'); ...②
var obj = {
    [s]:function(){console.log(1);} ...③
}
var b = Reflect.ownKeys(obj); ...④


Symbol 本质上是一种唯一标识符,可用作对象的唯一属性名,这样其他人就不会改写或覆盖你设置的属性值。
注意事项
  1. Symbol值不能与其他类型的值进行运算
  2. Symbol 值不可以和其他类型值进行混合运算,否则会报错
  3. Symbol 值如果想要作为属性名,那就不能再用点运算符,因为点运算符后面跟的总是字符串
  4. 在对象内部使用Symbol 值作为属性名的时候,必须要将值放在方括号中

发表于 2021-12-14 19:43:02 回复(7)
Symbol 值不能与其他类型的值进行运算,会报错。
新的API:Reflect.ownKeys() 方法可以返回所有类型的键名,包括常规键名和 Symbol 键名。
发表于 2021-12-15 09:21:39 回复(1)
Symbol不能转换为其他数据类型。上面踢中2会触发隐式转换,尝试将symbol转换为String类型。
发表于 2022-02-09 10:54:24 回复(0)
2 不是报 typeError错误吗? 
3 不是才报 SyntaxError 语法错误吗? 
不应该选C吗? 
发表于 2022-06-26 10:38:54 回复(2)
Symbol作为唯一标识符 无法参与其他类型值的运算
发表于 2022-11-29 11:28:58 回复(0)
Symbol 值不能与其他类型的值进行运算,会报错。 Reflect.ownKeys() 方法可以返回所有类型的键名,包括Symbol 键名
发表于 2022-06-23 11:08:42 回复(0)
symbol
发表于 2022-04-07 02:12:58 回复(0)
symbol类型不能跟其他类型数据进行运算,但这里可以先将symbol类型显式转为string:s.toString()
发表于 2022-04-06 19:46:49 回复(0)
什么情况
发表于 2022-02-17 19:46:00 回复(0)