<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ### 概述 `Reflect`對象與`Proxy`對象一樣,也是ES6為了操作對象而提供的新的API。它的設計目標如下: - 將`Object`對象的一些明顯屬于語言內部的方法(比如:Object.defineProperty),放到`Reflect`對象上。 - 修改某些`Object`方法的返回結果,使其變的更加合理。 - 讓`Object`操作都變成函數行為。 - `Reflect`對象的方法與`Proxy`對象 的方法一一對應,只要是`Proxy`對象的方法,就能在`Reflect`對象上找到對應的方法。 ### 靜態方法 `Reflect`對象一共有13個靜態方法: #### Reflect.get(target, name, receiver) `Reflect.get`方法查找并返回`target`對象的`name`屬性,如果沒有找到則返回`undefined` ```js let myObject = { foo: 1, bar: 2, get baz () { return this.foo + this.bar } } Reflect.get(myObject, 'foo') // 1 Reflect.get(myObject, 'bar') // 2 Reflect.get(myObject, 'baz') // 3 ``` #### Reflect.set(target, name, value, receiver) `Reflect.set`方法設置`target`對象的`name`屬性為`value` ```js let myObject = { foo: 1, set bar (value) { return this.foo = value } } myObject.foo // 1 Reflect.set(myObject, 'foo', 2) myObject.foo // 2 Reflect.set(myObject, 'bar', 3) myObjedct.foo // 3 ``` #### Reflect.has(obj, name) `Reflect.has`方法對應`in`操作 #### Reflect.deleteProperty(obj, name) `Reflect.deleteProperty`方法等同于`delete obj[name]`,用于刪除對象的屬性 #### Reflect.construct(target, args) `Reflect.construct`方法等同于`new target(...args)`,提供了一種不適用`new`來調用構造函數的方法。 #### Reflect.getPrototypeOf(obj) `Reflect.getPrototpyeOf`方法用于讀取對象的`__proto__`屬性,對應`Object.getPrototypeOf(obj)` #### Reflect.setPrototypeOf(obj, newProto) #### Reflect.apply(func, thisArg, args) #### Reflect.defineProperty(target, propertyKey, attributes) #### Reflect.getOwnPropertyDescriptor(target.propertyKey) #### Reflect.isExtensible(target) #### Reflect.preventExtentsions(target)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看