浅谈es6中的元编程
短视频,自媒体,达人种草一站服务 这篇文章主要介绍了浅谈es6中的元编程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 何为元编程? 「编写能改变语言语法特性或者运行时特性的程序」。换言之,一种语言本来做不到的事情,通过你编程来修改它,使得它可以做到了,这就是元编程。 meta-programming元编程中的 元 的概念可以理解为 程序 本身。”元编程能让你拥有可以扩展程序自身能力 举个例子: if (a == 1 && a == 2 && a == 3) { 怎样才能让这个条件满足,输出done。按照正常的逻辑是无法完成的,毕竟一个值不可能同时满足等于1、2、3这是就可以用到元编程来改变这个不可能 let a = { if (a == 1 && a == 2 && a == 3) { Symbol.toPrimitive在对象转换为原始值的时候会被调用,初始值为1,调用一次+1,就可以满足a == 1 && a == 2 && a == 3,同时Symbol.toPrimitive也可以接受一个参数hint,hint的取值为number、string、default let obj = { 还有哪些元编程? proxy es5的Object.defineProperty()方法的es6升级版,用于自定义的对象的行为 let leon = { reflect-metadata 你可以通过装饰器来给类添加一些自定义的信息。然后通过反射将这些信息提取出来。当然你也可以通过反射来添加这些信息 require("reflect-metadata") let metadataValue = Reflect.getMetadata("name", C.prototype, "method"); 应用 拓展数组索引访问 负索引访问,使array[-N] 与 array[array.length - N] 相同 let array = [1, 2, 3]; array = new Proxy(array, {
数据劫持 let handlers = Symbol('handlers'); function makeObservable(target) { // 存储 handler 函数到数组中以便于未来调用 // 创建代理以处理更改 let user = {}; user = makeObservable(user); user.observe((key, value) => { user.name = "John"; 到此这篇关于浅谈es6中的元编程的文章就介绍到这了,更多相关es6 元编程内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! (编辑:应用网_常德站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 首款屏下前摄游戏手机!红魔7 Pro开售 4799元起
- 定价1999元起的motorola edge s向中端手机市场进军
- 麒麟9000L曝露 华为储备芯片、Mate40E衍生版搭载 支持5G
- 带着全新的小米11与MIUI12.5持续进攻高端手机市场
- 真我 GT2 Pro真机实拍图透露 6.8英寸屏下摄像
- VIVO大玩性价比,66W+12+256GB,独显旗舰跌至2179元
- iQOO Neo6曝光 配置全面更新,骁龙888+66W闪充,值得等
- 为压制新冠疫情,FDA对筛查类医疗AI产品进行紧急授权
- 全线对标iPhone!雷军宣布小米三年拿下国产高端手机第一名
- Intel 13代酷睿性能大透露 AMD Zen4这次决不能轻敌了