巧记es6的Proxy以及Reflect的13个方法

发表于 javascript 分类,标签:

es6的Proxy  有13个种方法,我们可以将其编程故事, 下面以我和我儿子的一组对话,来协助记忆。

好好看看我的这段话:  这就是编故事,形成画面记忆。


吴天宇放学回家,进门就说,

吴天宇: 爸爸我饿了。

我: 儿子我给你准备了一个零食仓库 (construct), 里面什么都有   (所有构造函数都有 constructor, constructor 是对象自带的一个属性,是名词,用于标识对象的构造来源。 new出来,这里可以看着动词  construct   ,proxy 就是拦截,是带动作的)。

吴天宇:爸爸那你随便给我拿点吃的吧

我: 拿了一颗草莓给儿子。 (get)

吴天宇:爸爸草莓坏了,扔掉吧。

我: 扔掉了所有坏了的草莓 (deleteProperty), (deleteProperty  主要就是为了搞定 delete  操作符,记忆方法: 为了与关键词delete有区别,所以为 deleteProperty

吴天宇:  爸爸明天春游,今天老师给了我一个面包,帮我放我的零食仓库,明天吃

我: 把面包放进去 (set)

吴天宇: 草莓吃完了,爸爸我还饿,家里有火腿肠吗 (has)? 有的话你帮我做个火腿肠吃吧。

我: 有火腿肠,拿出火腿肠, 去厨房给吴天宇做烤肠,烤熟了给吴天宇

吴天宇: 爸爸你做的火腿肠是什么牌子的?

我: 你最爱的双汇火腿肠 ( getPrototypeOf) 

吴天宇: 爸爸可以把这个火腿肠的牌子 换成 金锣 ( setPrototypeOf), (换成就是set)

我: 不可以换了, 我们只能查看火腿肠的描述 (getOwnPropertyDescriptor ) (这里不是 property  而是 OwnProperty 可以记忆为  自己拥有的属性,而不是是个属性就行,必须是自己拥有的)

吴天宇: 那我看一下火腿肠的生产日期和保质期, 爸爸这个火腿肠要过期了,我把上产日期改一下 ( defineProperty)

我: 不能改了,改了也是假的,儿子吃饱了么,今天拿了几次零食 (apply)

吴天宇: 2次了, 爸爸我看零食仓库东西不多了啊,还可以再加点 (isExtensible)

我: 好的,那我把冰箱的水果都给你放进去 , 现在满了,已经很多了吧,关零食仓库门(preventExtensions)

吴天宇: 好的,爸爸,那现在零食仓库有多少种零食了啊 (ownKyes)

我: 有好多了,你可以吃很久了


主要帮自己记忆,同时也希望对大家有帮助

0 篇评论

发表我的评论