1.对象的属性
2.值和引用
3.类型与构造器
4.内置类型
5.class(后面讲)
对象的属性
属性名规则:可以使邮箱字符窜或者任意可转换为有效字符串的类型
属性的访问和遍历
对象创建
//创建对象 菜鸟
{
let myObj = new Object();
myObj.name='jk';
myObj.age=20;
console.log(myObj);
}
//普通青年
{
let myObj={
name:'jk',
age:22
}
console.log(myObj);
}
//有些二逼青年
{
let myObj = Object.create({name:'jk',age:22})
console.log(myObj);
}
属性访问
//对象属性是有效字符串,属性访问可以通过.和[]
{
let myObj={
name:'jk',
age:22
}
console.log([myObj.name,myObj.age]);
}
{
//[]属性访问的好处是可以计算
const conf= {
adapter:'sqlite',
db:{
sqlite:{
//...
},
mysql:{
//...
}
}
};
let dbSetting=conf.db[conf.adapter];
}
{
//在ES6中字面量的key也支持属性计算
let process = {env:{}};
const ENV = process.env.JSBIN_ENV || 'development';
const conf= {
[ENV]:true
};
console.log([conf.development,conf.production]);
}
属性遍历
let point = {
x :100,
y :200,
getLength : function() {
let {x,y} = this;
return Math.sqrt(x*x + y*y);
}
}
console.log(point.getLength());
//用for...in 遍历
for(let key in point) {
console.log([key,[point[key]]]);
}
//用Object.keys 遍历
Object.keys(point).forEach((key) => console.log([key,point[key]]))