diff options
Diffstat (limited to 'files/ja/web/javascript/reference/global_objects/reflect/get/index.html')
-rw-r--r-- | files/ja/web/javascript/reference/global_objects/reflect/get/index.html | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/files/ja/web/javascript/reference/global_objects/reflect/get/index.html b/files/ja/web/javascript/reference/global_objects/reflect/get/index.html new file mode 100644 index 0000000000..9ad5516167 --- /dev/null +++ b/files/ja/web/javascript/reference/global_objects/reflect/get/index.html @@ -0,0 +1,97 @@ +--- +title: Reflect.get() +slug: Web/JavaScript/Reference/Global_Objects/Reflect/get +tags: + - ECMAScript 2015 + - JavaScript + - Method + - Reference + - Reflect + - メソッド +translation_of: Web/JavaScript/Reference/Global_Objects/Reflect/get +--- +<div>{{JSRef}}</div> + +<p>静的な <strong><code>Reflect.get()</code></strong> メソッドは、オブジェクト (<code>target[propertyKey]</code>) からプロパティを関数として取得するように動作します。動作します。</p> + +<div>{{EmbedInteractiveExample("pages/js/reflect-get.html")}}</div> + +<p class="hidden">このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力したい場合は、 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> をクローンしてプルリクエストを送信してください。</p> + +<h2 id="Syntax" name="Syntax">構文</h2> + +<pre class="syntaxbox">Reflect.get(<var>target</var>, <var>propertyKey</var>[, <var>receiver</var>]) +</pre> + +<h3 id="Parameters" name="Parameters">引数</h3> + +<dl> + <dt><code><var>target</var></code></dt> + <dd>プロパティを取得する対象のオブジェクト。</dd> + <dt><code><var>propertyKey</var></code></dt> + <dd>設定するプロパティ名。</dd> + <dt><code><var>receiver</var></code> {{optional_inline}}</dt> + <dd>ゲッターがあった場合、 <code><var>target</var></code> への呼び出しで使用する <code>this</code> の値を提供します。 {{jsxref("Proxy")}} とともに使用すると、 <code><var>target</var></code> から継承しているオブジェクトにすることができます。</dd> +</dl> + +<h3 id="Return_value" name="Return_value">返値</h3> + +<p>プロパティの値です。</p> + +<h3 id="Exceptions" name="Exceptions">例外</h3> + +<p><code><var>target</var></code> が {{jsxref("Object")}} でなかった場合、 {{jsxref("TypeError")}} が発生します。。</p> + +<h2 id="Description" name="Description">解説</h2> + +<p><code>Reflect.get</code> メソッドはオブジェクトのプロパティを取得します。機能としては{{jsxref("Operators/Property_Accessors", "プロパティアクセサー", "", 1)}}構文と似ています。</p> + +<h2 id="Examples" name="Examples">例</h2> + +<h3 id="Using_Reflect.get" name="Using_Reflect.get"><code>Reflect.get()</code> の使用</h3> + +<pre class="brush: js">// オブジェクト +let obj = { x: 1, y: 2 } +Reflect.get(obj, 'x') // 1 + +// 配列 +Reflect.get(['zero', 'one'], 1) // "one" + +// Proxy with a get handler +let x = {p: 1}; + +let obj = new Proxy(x, { + get(t, k, r) { + return k + 'bar' + } +}) +Reflect.get(obj, 'foo') // "foobar" +</pre> + +<h2 id="Specifications" name="Specifications">仕様書</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">仕様書</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName('ESDraft', '#sec-reflect.get', 'Reflect.get')}}</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div> + +<p>{{Compat("javascript.builtins.Reflect.get")}}</p> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>{{jsxref("Reflect")}}</li> + <li><a href="/ja/docs/Web/JavaScript/Reference/Operators/Property_Accessors">プロパティアクセサー</a></li> +</ul> |