ECMAScript 6 学习笔记----Symbol,Proxy和Reflect
来源:互联网 发布:淘宝美工兼职招聘 编辑:程序博客网 时间:2024/06/11 20:40
一. Symbol
ES6引入了一种新的原始数据类型Symbol,表示独一无二的值。它是JavaScript语言的第七种数据类型,前六种是:Undefined、Null、布尔值(Boolean)、字符串(String)、数值(Number)、对象(Object)。
Symbol值通过Symbol
函数生成。这就是说,对象的属性名现在可以有两种类型,一种是原来就有的字符串,另一种就是新增的Symbol类型。凡是属性名属于Symbol类型,就都是独一无二的,可以保证不会与其他属性名产生冲突。
Proxy用于修改某些操作的默认行为,等同于在语言层面做出修改,所以属于一种“元编程”(meta programming),即对编程语言进行编程。
Proxy可以理解成,在目标对象之前架设一层“拦截”,外界对该对象的访问,都必须先通过这层拦截,因此提供了一种机制,可以对外界的访问进行过滤和改写。
var person = { name: "张三"};var proxy = new Proxy(person, { get: function(target, property) { if (property in target) { return target[property]; } else { throw new ReferenceError("Property \"" + property + "\" does not exist."); } }});proxy.name // "张三"proxy.age // 抛出一个错误
上面代码表示,如果访问目标对象不存在的属性,会抛出一个错误。如果没有这个拦截函数,访问不存在的属性,只会返回undefined
。学习文档:ECMAScript 入门----阮一峰
0 0
- ECMAScript 6 学习笔记----Symbol,Proxy和Reflect
- ECMAScript 6笔记(Symbol, Proxy 和 Reflect)
- ECMAScript 6 入门笔记(八)Proxy,Reflect
- ECMAScript 6 学习系列课程 (ES6 proxy和Reflect的相关用法)
- ECMAScript6简介和学习笔记(三)symbol proxy reflect set map
- 学习笔记:ES6之Proxy和Reflect
- ECMAScript6笔记:Proxy和Reflect
- ECMAScript 6 入门笔记(七)Symbol,set和map
- ES6-Symbol(ECMAScript 6 入门笔记)
- ES6学习9章:Proxy和Reflect
- ECMAScript 6 学习笔记
- ECMAScript 6学习笔记
- ECMAScript 6 学习笔记
- ES6--Set、Map、Symbol、Proxy及Reflect
- ES6--Proxy和Reflect
- Proxy和Reflect
- 【ES6学习】— (4)ES6新增API Symbol、Proxy、Reflect简记
- ECMAScript 6 学习笔记----Class
- Leetcode刷题记——9. Palindrome Number(回文数字)
- [QT开发]微信公众号修改菜单工具
- mongodb 分片小计
- 一次android中服务无法停止的原因
- 软引用和弱引用在安卓开发中的使用
- ECMAScript 6 学习笔记----Symbol,Proxy和Reflect
- Window系统64位下的x86文件夹
- JQ的一个树形显示数据插件
- Android操作过程生成Gif动态图
- Heap——数据结构之堆
- python--多个变量的for循环
- J.U.C框架学习顺序
- spring mvc ajax 检查手机号是否注册
- jsp页面无法识别modelmap传递的值