首页 > 代码库 > ECMAScript5新特性之属性描述符读写对象的属性
ECMAScript5新特性之属性描述符读写对象的属性
直接读写、使用Getter/Setter accessors
‘use strict‘;
var fruit = {}; Object.defineProperties(fruit,{ ‘name‘ : { configurable : true, enumerable : true, get : function(){ console.log(‘Getter方法‘); return name; }, set : function(val){ console.log(‘Setter方法‘); name = val; } }, ‘desc‘ : { configurable : true, enumerable : true, writable : true, value : ‘红富士‘ } }); // fruit.name=‘杨梅‘; console.log(‘name‘,fruit.name); // console.log(‘desc‘,fruit.desc); fruit.desc = ‘金帅‘; console.log(‘desc‘,fruit.desc);
严格模式下:
1 writable、value属于直接读写,Getter/Setter属于存取器读写。
这两种方法是互斥的,只能使用其中之一。
2 writable默认false,即对象属性是只读的。
3 只提供Getter,则对象的属性是只读的,赋值会抛异常。
只提供Setter,则对象的属性是只写的,读取会拿到undefined。
ECMAScript5新特性之属性描述符读写对象的属性
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。