Object_CSD
数据及结构与对象
Math[PI]
此种语法,中括号里面是一个表达式 表达式计算结果应该是一个字符串 该字符串被当做要读取的属性的名 整个表达式返回该属性的属性值
Math[“PI”]
Math[‘P’+’I’]
x=”PI”
Math[x]
是可以的
// 数组是值的“有序”集合
// 对象是值的“具名”集合
// 在数组中,我们为值编号
// 在对象中,我们为值起名
// 有些语言里,对象又叫关联数组
// 把值与名字“关联”起来
JS中一切皆对象(除空值以外)
因为一切都能读出属性
因为对于任何一个值来说,以下表达式都不报错
在其它很多语言里,能读出属性的只有对象
从能否可再拆分的角度讲,原始类型不算对象
但从能否读取属性的角度讲,原始类型也算对象,因为它们能读出属性
x = 2
x.toFixed()
y = ‘owiejfo’
y.length
y.toUpperCase()
z = true
z.toString()
c== a//相等运算判断对象时,返回的是两边是否是同一个对象
//而判断原始类型时工返回的是两边的值是否相同
为了找出对象具有的属性,可以使用 Object.keys 函数。
你给它一个对象,它返回一个字符
串数组 - 对象的属性名称
console.log(Object.keys({x: 0, y: 0, z: 2}));
// → [“x”, “y”, “z”]
Object.assign() 方法将所有可枚举( 返回 true)和自有( 返回 true)属性从一个或多个源对象复制到目标对象,返回修改后的对象。
实列一
let objectA = {a: 1, b: 2};
Object.assign(objectA, {b: 3, c: 4});
console.log(objectA);
// → {a: 1, b: 3, c: 4}
实列二
const target = { a: 1, b: 2 };
const source = { b: 4, c: 5 };
const returnedTarget = Object.assign(target, source);
console.log(target);
// expected output: Object { a: 1, b: 4, c: 5 }
console.log(returnedTarget);
// expected output: Object { a: 1, b: 4, c: 5 }
copyWithin(0,3,6)将3-6复制到前面