reflect

2019-10-17 admin

reflect是什么

什么是reflect,JavaScript parser adhering to Mozilla's parser API

reflect使用教程帮助文档

Reflect.js

Reflect.js is a JavaScript (ES3 compatible) implementation of Mozilla’s Parser API. It does not currently support some of Mozilla’s extensions, such as generators, list comprehensions, for each, E4X, etc. but may eventually support ones that are, or become Harmony proposals. Builders are also supported.

Parsing really large files can be slow, for reasons articulated by Andy Chu.

Download

You can download a minified-standalone version of reflect.js to embed in web pages here.

Install

Reflect.js is available as a CommonJS module for Node.js. Simply install it with npm:

npm install reflect

Use

var Reflect = require('reflect');

var ast = Reflect.parse("var a = 4 + 7");

console.log(Reflect.stringify(ast, "  "));

Refer to Mozilla’s docs for details on the AST interface.

Builders

The optional builder parameter to Reflect.parse() makes it possible to construct user-specified data from the parser, rather than the default Node objects.

The reflect.js module exports the default builder so you can redefine only the node constructors you care about and leave the rest default.

var Reflect = require('reflect');
var builder = Reflect.builder;

// redefine callback for variable declarations
builder["variableDeclaration"] = function (kind, declarators, loc) { ... };

var ast = Reflect.parse("var a = 4 + 7", {builder: builder});

License

MIT X Licensed.

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处。

转载请注明:文章转载自 JavaScript中文网 [https://www.javascriptcn.com]

本文地址:https://www.javascriptcn.com/read-77591.html

文章标题:reflect

相关文章
ES6中的代理(Proxy)和反射(Reflection)
代理和反射的定义 调用 new Proxy() 可常见代替其它目标 (target) 对象的代理,它虚拟化了目标,所以二者看起来功能一致。 代理可拦截JS引擎内部目标的底层对象操作,这些底层操作被拦截后会触发响应特定操作的陷阱函数。 反射 ...
2019-03-21
glsl-extract-reflect
glsl-extract-reflect是什么 什么是glsl-extract-reflect,turn glsl-extract into a JSON tree glsl-extract-reflect官网:官网 glsl-extra...
2019-04-21
AngularJS Directives: Change $scope not reflected in UI
Mark Ni提出了一个问题:AngularJS Directives: Change $scope not reflected in UI,或许与您遇到的问题类似。 回答者Brian ClineMark Rajcok给出了该问题的处理方式...
2018-04-08
Reflect Metadata | 深入理解 TypeScript
基础 Reflect Metadata 是 ES7 的一个提案,它主要用来在声明的时候添加和读取元数据。TypeScript 在 1.5+ 的版本已经支持它,你只需要: npm i reflect-metadata --save。 在 t...
2019-08-16
ES6之Proxy & Reflection API
Proxy & Reflect extends的出现,使用内建对象的继承得以实现。Proxy可以拦截JS引擎内部目标的底层对象操作,这些底层操作被拦截后会触发响应特定操作的陷阱函数(traps),对于别人封装好的对象或内建对象,都可...
2019-07-29
can-reflect-dependencies
can-reflect-dependencies是什么 什么是can-reflect-dependencies,Keep track of external observable dependendecies can-reflect-de...
2019-09-21
can-reflect-promise
can-reflect-promise是什么 什么是can-reflect-promise,Reflection support for Promise types can-reflect-promise官网:官网 can-reflect...
2019-09-21
ES6之Reflect你确定不需要了解?
ES6 为了操作对象而提供的新API,未来的新方法将只部署在Reflect对象上! 初探Reflect Reflect与Proxy是相辅相成的,只要是Proxy对象的方法,就能在Reflect对象上找到对应的方法! const obj =...
2019-08-29
can-reflect-tests
can-reflect-tests是什么 什么是can-reflect-tests,tests for can-reflect types can-reflect-tests官网:官网 can-reflect-tests源码仓库:源码仓库...
2019-09-21
can-reflect
can-reflect是什么 什么是can-reflect,reflection on unknown data types can-reflect官网:官网 can-reflect源码仓库:源码仓库 can-reflect下载地址:点此...
2019-09-22
回到顶部