/*
输出下面代码运行结果
*/
// example 1
var a={},b="123",c=123;
a[b]='b'
a[c]='c'
console.log(a[b]) // c 对象里面的key都是字符串
console.log(a); // 因为a[123] = a["123"]
// example 2
var a = {},
b = Symbol("123"),
c = Symbol(123);
a[b]='b'
a[c]='c'
console.log(a[b]) // b typeof Symbol('123') === "symbol"
console.log(a); // Symbol 特殊的数据类型 创建的是唯一的值 es6中新增的数据类型
// example 3
var a = {},
b = {key: "123"},
c = {key: 456},
arr = [1, 2, 3];
a[b]='b'
a[c]='c'
a[arr]='arr'
console.log(a[b]) // c
console.log(a); //
// 对象的属性名不能是一个对象(遇到对象属性名会默认转为字符串)
// {1,2,3: "arr",[object Object]: "c"}
console.log(arr.toString());
console.log(b.toString());
// arr.toString() = 1,2,3
// 普通对象.toString()调取的是Object.prototype上的方法(这个方法是用来检测数据类型的)
// 数组是有自己的toString()方法
// b.toString() = "[object object]"
// Object.prototype.toString.call()
Object对象
最新推荐文章于 2023-02-24 10:56:52 发布