js对象的属性问题
ES6之前js的对象的属性只能是字符串,
<html>
<head>
<script type="text/javascript">
var a = {1:2}
for(let i in a ) {
console.log(typeof i)
}
</script>
</head>
<body>
</body>
</html>
虽然在浏览器打印a的时候我们看到的1,但是这里打印i的type出来是string。ES6的symbol是可以支持多种类型的属性。
当我们访问这种属性的时候不能通过obj.att来访问,我们要使用obj[‘att’]来访问,例子如下
<html>
<head>
<script type="text/javascript">
var a = {1:2}
var b = {'1层': '1层'}
console.log(a[1])
console.log(b['1层'])
</script>
</head>
<body>
</body>
</html>
打印出来2和1层。当只有数字作为属性的时候可以省去[]内的单引号'',obj[num]

浙公网安备 33010602011771号