diff --git a/src/.vitepress/sidebars/ecma-script.yaml b/src/.vitepress/sidebars/ecma-script.yaml index da4ee7a..d2adaf4 100644 --- a/src/.vitepress/sidebars/ecma-script.yaml +++ b/src/.vitepress/sidebars/ecma-script.yaml @@ -192,6 +192,15 @@ link: /javascript/ecma-script/proxy-and-reflect/proxy#创建代理 - text: 创建可撤销代理 link: /javascript/ecma-script/proxy-and-reflect/proxy#创建可撤销代理 + - text: 反射 + link: /javascript/ecma-script/proxy-and-reflect/reflect + items: + - text: 什么是反射 + link: /javascript/ecma-script/proxy-and-reflect/reflect#什么是反射 + - text: 直接使用反射 + link: /javascript/ecma-script/proxy-and-reflect/reflect#直接使用反射 + - text: 代理捕获器中使用反射 + link: /javascript/ecma-script/proxy-and-reflect/reflect#代理捕获器中使用反射 - text: 模块 collapsed: true items: diff --git a/src/javascript/ecma-script/proxy-and-reflect/reflect.md b/src/javascript/ecma-script/proxy-and-reflect/reflect.md new file mode 100644 index 0000000..2b242e7 --- /dev/null +++ b/src/javascript/ecma-script/proxy-and-reflect/reflect.md @@ -0,0 +1,19 @@ +# 反射 + +## 什么是反射 + +反射是一个内置的全局对象,它提供了一些与操作对象相关的静态方法,这些方法与代理捕获器的方法一一对应。 + +::: info +反射方法并不局限于代理捕获器中使用。 + +大多数的反射方法在 Object 上也有对应的方法,反射方法适用于细粒度的对象控制与操作。 +::: + +## 直接使用反射 + +<<< @/../projects/javascript-sandbox/src/proxy-and-reflect/reflect.ts#direct-use-reflect + +## 代理捕获器中使用反射 + +<<< @/../projects/javascript-sandbox/src/proxy-and-reflect/reflect.ts#use-reflect-in-proxy-handler