es6 对象的扩展

1.属性的简洁表示

	let name = "小黑";
    let stu = {
    	name
    }
    console.log(stu);

2.对象中函数的简写

	let a = 0;
	let b = 10;
	let stus = {
		eat() {
			return {
				a, b
            }
        }
    }

3.getter访问器和setter访问器
getter访问器:针对属性获取
setter访问器:针对属性设置

	let animal = {
    	_name: '',
    	set name(n) {
        	console.log("设置_name");
            this._name = n;
        },
        get name() {
        	console.log("获取属性_name");
            return this._name
        }
   }
   console.log(animal);
   animal.name = "小黑";
   console.log(animal.name);

4.使用"对象点属性"或"对象[key]"获取对象的属性值

	let s = { a: 1 }
    console.log(s.a);
    console.log(s['a']);

5.使用"对象点属性"或"对象[key]"设置对象的属性值

	let o = {};
    o.age = 20;
    o['sex'] = "男";
    console.log(o);

6.获取或设置对象属性的一些配置参数

	let people = {
	                name: "小花",
	                age: 20
	            }
	            //获取people对象name属性的相关配置
	            var desc = Object.getOwnPropertyDescriptor(people, 'name');
	            console.log(desc);
	            //设置对象属性的相关配置
	            Object.defineProperty(people, 'name', {
	                enumerable: false
	            });

7.对象的遍历

	let qw = {
		 name: "xiao",
		 age: 10,
		 sex: '女',
	     [Symbol('age')]() {
	     	 console.log("第一无二的方法");
	     }
	}
	for (let key in qw) {
		console.log(key);
	}
	console.log(Object.keys(qw));//返回所有key的集合
	console.log(Object.getOwnPropertyNames(qw));
	console.log(Object.getOwnPropertySymbols(qw));//返回symbol数据类型的key值

8.使用symbol函数产生独一无二的变量

	let a1 = Symbol('abc');
    console.log(a1);

9.魔术字符串:代码全动态,利于后期维护修改

	let way = [
    	{
        	type: 'weixin',
            zhe: 0.9
        },
        {
            type: 'zhifubao',
            zhe: 0.85
        },
        {
            type: 'baitiao',
            zhe: 1.2
        }
	]
    let fun = (shop, obj) => {
    	let f1 = 1;
        let price = 0;
        switch (shop.type) {
        	case shop.type:
            f1 = shop.zhe;
            price = f1 * obj.price * obj.num;
            break;
        }
        return price;
    }
	var allprice = fun(way[2], { price: 120, num: 5 });
    console.log(allprice);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值