{
    "componentChunkName": "component---src-templates-blog-post-jsx",
    "path": "/post/es2017-object-syntax/",
    "result": {"data":{"site":{"siteMetadata":{"title":"WEB EGG","author":"Leko - CTO at Yuimedi"}},"markdownRemark":{"id":"5f458916-8699-58f7-b83c-86e8a2962bac","excerpt":"こんにちは。 たまには基礎に返ってみるのも良いじゃないか、ということで 今回は、{ a, b, c }とか昨今のNode.js…","html":"<p>こんにちは。<br>\nたまには基礎に返ってみるのも良いじゃないか、ということで</p>\n<p>今回は、<code>{ a, b, c }</code>とか昨今のNode.jsのオブジェクト周りの構文は難解だと知人に言われたのでまとめてみます。</p>\n<!--more-->\n<h2 id=\"たぶん昔書いていたオブジェクト定義\" style=\"position:relative;\"><a href=\"#%E3%81%9F%E3%81%B6%E3%82%93%E6%98%94%E6%9B%B8%E3%81%84%E3%81%A6%E3%81%84%E3%81%9F%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E5%AE%9A%E7%BE%A9\" aria-label=\"たぶん昔書いていたオブジェクト定義 permalink\" class=\"autolink-header before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>（たぶん）昔書いていたオブジェクト定義</h2>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">function</span> <span class=\"token function\">getProfile</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">var</span> obj <span class=\"token operator\">=</span> <span class=\"token punctuation\">{</span>\n        name<span class=\"token operator\">:</span> <span class=\"token string\">'Leko'</span><span class=\"token punctuation\">,</span>\n        age<span class=\"token operator\">:</span> <span class=\"token number\">25</span><span class=\"token punctuation\">,</span>\n        <span class=\"token function-variable function\">getName</span><span class=\"token operator\">:</span> <span class=\"token keyword\">function</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n            <span class=\"token keyword\">return</span> <span class=\"token keyword\">this</span><span class=\"token punctuation\">.</span>name\n        <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n        <span class=\"token function-variable function\">setName</span><span class=\"token operator\">:</span> <span class=\"token keyword\">function</span><span class=\"token punctuation\">(</span><span class=\"token parameter\">name</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n            <span class=\"token keyword\">this</span><span class=\"token punctuation\">.</span>name <span class=\"token operator\">=</span> name\n        <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n        <span class=\"token function-variable function\">isAdult</span><span class=\"token operator\">:</span> <span class=\"token keyword\">function</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n            <span class=\"token keyword\">return</span> <span class=\"token keyword\">this</span><span class=\"token punctuation\">.</span>age <span class=\"token operator\">>=</span> <span class=\"token number\">20</span>\n        <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span>\n\n    <span class=\"token keyword\">for</span> <span class=\"token punctuation\">(</span><span class=\"token keyword\">var</span> i <span class=\"token operator\">=</span> <span class=\"token number\">1</span><span class=\"token punctuation\">;</span> i <span class=\"token operator\">&lt;=</span> <span class=\"token number\">10</span><span class=\"token punctuation\">;</span> i<span class=\"token operator\">++</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n        obj<span class=\"token punctuation\">[</span><span class=\"token string\">'metadata_'</span> <span class=\"token operator\">+</span> i<span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token string\">'あああ'</span>\n    <span class=\"token punctuation\">}</span>\n\n    <span class=\"token keyword\">return</span> obj\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>中身は適当ですが、構文的にはこんな感じのを書いていたような気がします</p>\n<h2 id=\"キー名の省略\" style=\"position:relative;\"><a href=\"#%E3%82%AD%E3%83%BC%E5%90%8D%E3%81%AE%E7%9C%81%E7%95%A5\" aria-label=\"キー名の省略 permalink\" class=\"autolink-header before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>キー名の省略</h2>\n<p>まず、変数名とキー名が一致する場合、キー名が省略可能になりました。<br>\n以下のreturnの結果は<code>{ name: name, age: age }</code>と等価です。<br>\nいちいち冗長な書き方をせずとも済むようになりました。</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">const</span> name <span class=\"token operator\">=</span> <span class=\"token string\">'Leko'</span>\n<span class=\"token keyword\">const</span> age <span class=\"token operator\">=</span> <span class=\"token number\">25</span>\n<span class=\"token keyword\">return</span> <span class=\"token punctuation\">{</span> name<span class=\"token punctuation\">,</span> age <span class=\"token punctuation\">}</span></code></pre></div>\n<h2 id=\"メソッド定義\" style=\"position:relative;\"><a href=\"#%E3%83%A1%E3%82%BD%E3%83%83%E3%83%89%E5%AE%9A%E7%BE%A9\" aria-label=\"メソッド定義 permalink\" class=\"autolink-header before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>メソッド定義</h2>\n<p>classの登場によってメソッド定義もなにやら簡素になりました<br>\n書き方はclassのメソッド定義と同等の構文だと思えば良いと思います</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">return</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token comment\">// こんなリテラルが登場。</span>\n    <span class=\"token function\">getName</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token keyword\">return</span> <span class=\"token keyword\">this</span><span class=\"token punctuation\">.</span>name\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token comment\">// 以下と等価</span>\n    <span class=\"token comment\">// getName: function () {</span>\n    <span class=\"token comment\">//     return this.name</span>\n    <span class=\"token comment\">// }</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<h2 id=\"get-set\" style=\"position:relative;\"><a href=\"#get-set\" aria-label=\"get set permalink\" class=\"autolink-header before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>get, set</h2>\n<p>これもclassからの輸入品だと思いますが、ゲッタセッタが定義できるようになっています<br>\nゲッタセッタ自体は割と昔から書けた気がするので、昨今と表現するのはやや古いかもしれません。</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">return</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">get</span> <span class=\"token function\">name</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token keyword\">return</span> <span class=\"token keyword\">this</span><span class=\"token punctuation\">.</span>name\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token comment\">// 以下とだいたい等価</span>\n    <span class=\"token comment\">// getName: function() {</span>\n    <span class=\"token comment\">//     return this.name</span>\n    <span class=\"token comment\">// },</span>\n\n    <span class=\"token keyword\">set</span> <span class=\"token function\">name</span> <span class=\"token punctuation\">(</span><span class=\"token parameter\">name</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token keyword\">this</span><span class=\"token punctuation\">.</span>name <span class=\"token operator\">=</span> name\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token comment\">// 以下とだいたい等価</span>\n    <span class=\"token comment\">// setName: function(name) {</span>\n    <span class=\"token comment\">//     this.name = name</span>\n    <span class=\"token comment\">// },</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<h2 id=\"キー名を変数や式にする\" style=\"position:relative;\"><a href=\"#%E3%82%AD%E3%83%BC%E5%90%8D%E3%82%92%E5%A4%89%E6%95%B0%E3%82%84%E5%BC%8F%E3%81%AB%E3%81%99%E3%82%8B\" aria-label=\"キー名を変数や式にする permalink\" class=\"autolink-header before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>キー名を変数や式にする</h2>\n<p>jsのオブジェクトのキー名は<code>[]</code>で囲うと式が使えます<br>\nそれだけ単体で見ると変な構文に思えますが、今まで動的にキー名を指定したい場合、<br>\n一度変数にとってから<code>[]</code>でアクセスする必要がありました。その歴史から来ていると考えると割と自然な気がします。</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">const</span> keyName <span class=\"token operator\">=</span> <span class=\"token string\">'name'</span>\n<span class=\"token keyword\">return</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token punctuation\">[</span>keyName<span class=\"token punctuation\">]</span><span class=\"token operator\">:</span> <span class=\"token string\">'Leko'</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">[</span><span class=\"token string\">'hoge_'</span> <span class=\"token operator\">+</span> <span class=\"token number\">1</span><span class=\"token punctuation\">]</span><span class=\"token operator\">:</span> <span class=\"token number\">123</span>\n<span class=\"token punctuation\">}</span>\n\n<span class=\"token comment\">// こう書かなくて良くなった</span>\n<span class=\"token keyword\">const</span> ret <span class=\"token operator\">=</span> <span class=\"token punctuation\">{</span><span class=\"token punctuation\">}</span>\nret<span class=\"token punctuation\">[</span>keyName<span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token string\">'Leko'</span>\nret<span class=\"token punctuation\">[</span><span class=\"token string\">'hoge_'</span> <span class=\"token operator\">+</span> <span class=\"token number\">1</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token number\">123</span>\n<span class=\"token keyword\">return</span> ret</code></pre></div>\n<h2 id=\"キー名にtemplate-literalを使う\" style=\"position:relative;\"><a href=\"#%E3%82%AD%E3%83%BC%E5%90%8D%E3%81%ABtemplate-literal%E3%82%92%E4%BD%BF%E3%81%86\" aria-label=\"キー名にtemplate literalを使う permalink\" class=\"autolink-header before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>キー名にtemplate literalを使う</h2>\n<p><code>[]</code>の中には式が書けるのでtemprate literalも使用可能です<br>\nキー名にプレフィックスつけたりサフィックスつけたりするときに便利です</p>\n<p><code>js const i = 0 return {     [`metadata_${i}`]: 'Hogehoge' }</code></p>\n<h2 id=\"分割代入\" style=\"position:relative;\"><a href=\"#%E5%88%86%E5%89%B2%E4%BB%A3%E5%85%A5\" aria-label=\"分割代入 permalink\" class=\"autolink-header before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>分割代入</h2>\n<p>これまではオブジェクトの作成時に使う構文の話でしたが、オブジェクトを利用するの構文も変化してます。<br>\nオブジェクト名を削りたい場合に、これまではいちいち<code>xxx.prop</code>を代入していく必要がありましたが、新しい構文が増えて便利になりました。</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">const</span> obj <span class=\"token operator\">=</span> <span class=\"token punctuation\">{</span> name<span class=\"token operator\">:</span> <span class=\"token string\">'Leko'</span><span class=\"token punctuation\">,</span> age<span class=\"token operator\">:</span> <span class=\"token number\">25</span> <span class=\"token punctuation\">}</span>\n<span class=\"token keyword\">const</span> <span class=\"token punctuation\">{</span> name<span class=\"token punctuation\">,</span> age <span class=\"token punctuation\">}</span> <span class=\"token operator\">=</span> obj\n\n<span class=\"token comment\">// 以下と等価</span>\n<span class=\"token keyword\">const</span> name <span class=\"token operator\">=</span> obj<span class=\"token punctuation\">.</span>name\n<span class=\"token keyword\">const</span> age <span class=\"token operator\">=</span> obj<span class=\"token punctuation\">.</span>age</code></pre></div>\n<p>ちなみにこの構文は関数の引数にも利用できます</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token comment\">// と等価</span>\n<span class=\"token comment\">// function cheapClone (original) {</span>\n<span class=\"token comment\">//     return { name: original.name, age: original.age }</span>\n<span class=\"token comment\">// }</span>\n<span class=\"token keyword\">const</span> <span class=\"token function-variable function\">cheapClone</span> <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span><span class=\"token parameter\"><span class=\"token punctuation\">{</span> name<span class=\"token punctuation\">,</span> age <span class=\"token punctuation\">}</span></span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">return</span> <span class=\"token punctuation\">{</span> name<span class=\"token punctuation\">,</span> age <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n<span class=\"token keyword\">const</span> obj <span class=\"token operator\">=</span> <span class=\"token punctuation\">{</span> name<span class=\"token operator\">:</span> <span class=\"token string\">'Leko'</span><span class=\"token punctuation\">,</span> age<span class=\"token operator\">:</span> <span class=\"token number\">25</span> <span class=\"token punctuation\">}</span>\n<span class=\"token keyword\">const</span> obj2 <span class=\"token operator\">=</span> <span class=\"token function\">cheapClone</span><span class=\"token punctuation\">(</span>obj<span class=\"token punctuation\">)</span>\nconsole<span class=\"token punctuation\">.</span><span class=\"token function\">log</span><span class=\"token punctuation\">(</span>obj <span class=\"token operator\">===</span> obj2<span class=\"token punctuation\">)</span> <span class=\"token comment\">// false</span></code></pre></div>\n<h2 id=\"ブラウザ互換\" style=\"position:relative;\"><a href=\"#%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%E4%BA%92%E6%8F%9B\" aria-label=\"ブラウザ互換 permalink\" class=\"autolink-header before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>ブラウザ互換</h2>\n<p><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment</a></p>\n<p>MDNによると、（2017/06/16現在）ChromeとFirefoxは素で動きます。その他は動きません。<br>\nなので用法用量をお守りのうえ上記構文をお楽しみ下さい。<br>\nとはいえ、BabelやWebpackを使わない例も減ってきていると思うので、あまり互換性とか気にしなくて良いのかなぁ、なんて思ってます</p>\n<h2 id=\"さいごに\" style=\"position:relative;\"><a href=\"#%E3%81%95%E3%81%84%E3%81%94%E3%81%AB\" aria-label=\"さいごに permalink\" class=\"autolink-header before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>さいごに</h2>\n<p>いかがでしたでしょうか。<br>\n色々な構文が増えてどんどんシンプルに記述できるようになっている一方で、古いjsのまま知識が固定されてると知識レベルの差がどんどん広がっています。</p>\n<p>少しでも情報格差が減っていき、JSerの人と非JSerの人が手を取り合える世界がくることを願ってます</p>","timeToRead":4,"frontmatter":{"title":"シンプルすぎて難解？昨今のNode.jsのオブジェクト周りの構文をまとめてみた","tags":["JavaScript","Nodejs"],"date":"June 20, 2017","featuredImage":null}}},"pageContext":{"slug":"/es2017-object-syntax/","previous":{"fields":{"slug":"/how-to-implement-dirty-check-and-method-missing-with-nodejs/"},"frontmatter":{"title":"Node.jsのProxyでdirty checkとmethod missingを実現してみる","tags":["JavaScript","Nodejs","Proxy","Ruby"]}},"next":{"fields":{"slug":"/es2017-arrow-func-syntax/"},"frontmatter":{"title":"条件付きな構文が多い昨今のNode.jsのアロー関数の構文をまとめてみた","tags":["JavaScript","Nodejs"]}}}},
    "staticQueryHashes": ["2585454260","2954598359"]}