{"data":{"site":{"siteMetadata":{"title":"lastrites2018","author":"lastrites2018","siteUrl":"https://lastrites2018.netlify.com","comment":{"disqusShortName":"","utterances":"lastrites2018/gatsby-first-blog"},"sponsor":{"buyMeACoffeeId":""}}},"markdownRemark":{"id":"92e234e7-d885-56f8-b11f-eccca6c8c729","excerpt":"Quiz - Wrong answer  메서드는 지정된 프로토타입 객체 및 속성(property)을 갖는 새 객체를 만듭니다. Which of these instantiation patterns rely on prototype chains for method sharing? 다음 중 방법 공유를 위해 시제품 체인에 의존하는 인스턴트화 패턴은 무엇입니까? 답 : Prototypal, Pseudoclassical","html":"<h2 id=\"quiz---wrong-answer\"><a href=\"#quiz---wrong-answer\" aria-label=\"quiz   wrong answer permalink\" class=\"anchor\"><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>Quiz - Wrong answer</h2>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\">틀린 내용<span class=\"token punctuation\">.</span>\nwindow<span class=\"token punctuation\">.</span>name <span class=\"token operator\">=</span> <span class=\"token string\">'window'</span>\n\n<span class=\"token keyword\">var</span> alice <span class=\"token operator\">=</span> <span class=\"token punctuation\">{</span>\n  name<span class=\"token punctuation\">:</span> <span class=\"token string\">'Alice'</span><span class=\"token punctuation\">,</span>\n  greet<span class=\"token punctuation\">:</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 string\">\"Hi I am \"</span> <span class=\"token operator\">+</span> <span class=\"token keyword\">this</span><span class=\"token punctuation\">.</span>name\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n\n<span class=\"token keyword\">var</span> bob <span class=\"token operator\">=</span> <span class=\"token punctuation\">{</span>\n  name<span class=\"token punctuation\">:</span> <span class=\"token string\">'Bob'</span><span class=\"token punctuation\">,</span>\n  greet<span class=\"token punctuation\">:</span> alice<span class=\"token punctuation\">.</span>greet\n<span class=\"token punctuation\">}</span>\n\n<span class=\"token keyword\">var</span> greet <span class=\"token operator\">=</span> alice<span class=\"token punctuation\">.</span>greet\n<span class=\"token keyword\">var</span> result <span class=\"token operator\">=</span> <span class=\"token function\">greet</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token comment\">// Hi I am window</span>\n\n\nsetTimeout 비교\n\n<span class=\"token keyword\">var</span> name <span class=\"token operator\">=</span> <span class=\"token string\">\"Window\"</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">var</span> alice <span class=\"token operator\">=</span> <span class=\"token punctuation\">{</span>\n  name<span class=\"token punctuation\">:</span> <span class=\"token string\">\"Alice\"</span><span class=\"token punctuation\">,</span>\n  sayHi<span class=\"token punctuation\">:</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 function\">alert</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">this</span><span class=\"token punctuation\">.</span>name <span class=\"token operator\">+</span> <span class=\"token string\">\" says hi\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">var</span> bob <span class=\"token operator\">=</span> <span class=\"token punctuation\">{</span> name<span class=\"token punctuation\">:</span> <span class=\"token string\">\"Bob\"</span> <span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span>\n\n<span class=\"token function\">setTimeout</span><span class=\"token punctuation\">(</span>alice<span class=\"token punctuation\">.</span>sayHi<span class=\"token punctuation\">.</span><span class=\"token function\">call</span><span class=\"token punctuation\">(</span>bob<span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span> <span class=\"token number\">1000</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token comment\">// 바로 실행</span>\n\n\n<span class=\"token keyword\">var</span> name <span class=\"token operator\">=</span> <span class=\"token string\">\"Window\"</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">var</span> alice <span class=\"token operator\">=</span> <span class=\"token punctuation\">{</span>\n  name<span class=\"token punctuation\">:</span> <span class=\"token string\">\"Alice\"</span><span class=\"token punctuation\">,</span>\n  sayHi<span class=\"token punctuation\">:</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 function\">alert</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">this</span><span class=\"token punctuation\">.</span>name <span class=\"token operator\">+</span> <span class=\"token string\">\" says hi\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">var</span> bob <span class=\"token operator\">=</span> <span class=\"token punctuation\">{</span> name<span class=\"token punctuation\">:</span> <span class=\"token string\">\"Bob\"</span> <span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span>\n\n<span class=\"token function\">setTimeout</span><span class=\"token punctuation\">(</span>alice<span class=\"token punctuation\">.</span>sayHi<span class=\"token punctuation\">.</span><span class=\"token function\">bind</span><span class=\"token punctuation\">(</span>alice<span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span> <span class=\"token number\">1000</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token comment\">// 1초 후 실행</span>\n\npre<span class=\"token operator\">-</span>section2<span class=\"token operator\">-</span>scopes<span class=\"token operator\">-</span>and<span class=\"token operator\">-</span>closures<span class=\"token operator\">-</span><span class=\"token number\">03.</span>js\n<span class=\"token keyword\">var</span> x <span class=\"token operator\">=</span> <span class=\"token number\">10</span><span class=\"token punctuation\">;</span>\n\n<span class=\"token keyword\">function</span> <span class=\"token function\">outer</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n  x <span class=\"token operator\">=</span> <span class=\"token number\">20</span><span class=\"token punctuation\">;</span>\n  <span class=\"token keyword\">function</span> <span class=\"token function\">inner</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">var</span> x <span class=\"token operator\">=</span> x <span class=\"token operator\">+</span> <span class=\"token number\">20</span><span class=\"token punctuation\">;</span>\n    <span class=\"token keyword\">return</span> x<span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n  <span class=\"token function\">inner</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n\n<span class=\"token function\">outer</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n<span class=\"token keyword\">var</span> result <span class=\"token operator\">=</span> x<span class=\"token punctuation\">;</span>\n\nHow many closures are created <span class=\"token keyword\">in</span> the following code<span class=\"token operator\">?</span>\n pre<span class=\"token operator\">-</span>section2<span class=\"token operator\">-</span>scopes<span class=\"token operator\">-</span>and<span class=\"token operator\">-</span>closures<span class=\"token operator\">-</span><span class=\"token number\">04.</span>js\n\n<span class=\"token keyword\">function</span> <span class=\"token function\">add</span> <span class=\"token punctuation\">(</span>x<span class=\"token punctuation\">,</span> y<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token keyword\">return</span> x <span class=\"token operator\">+</span> y\n<span class=\"token punctuation\">}</span>\n\n<span class=\"token keyword\">function</span> <span class=\"token function\">double</span> <span class=\"token punctuation\">(</span>x<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token keyword\">return</span> <span class=\"token function\">add</span><span class=\"token punctuation\">(</span>x<span class=\"token punctuation\">,</span> x<span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">}</span>\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t답 <span class=\"token punctuation\">:</span> <span class=\"token number\">1</span></code></pre></div>\n<p><code class=\"language-text\">**Object.create()**</code> 메서드는 지정된 프로토타입 객체 및 속성(property)을 갖는 새 객체를 만듭니다.</p>\n<p>Which of these instantiation patterns rely on prototype chains for method sharing? 다음 중 방법 공유를 위해 시제품 체인에 의존하는 인스턴트화 패턴은 무엇입니까?</p>\n<p>답 : Prototypal, Pseudoclassical<img src=\"https://user-images.githubusercontent.com/39457256/45210970-0a427480-b2cc-11e8-83d3-49e0b0d31f8e.png\" alt=\"스크린샷 2018-08-10 16.54.55\"></p>\n<p><img src=\"https://user-images.githubusercontent.com/39457256/45211013-29d99d00-b2cc-11e8-80a2-ee783d87bd8b.png\" alt=\"스크린샷 2018-08-10 20.57.06\"></p>\n<p><img src=\"https://user-images.githubusercontent.com/39457256/45211043-38c04f80-b2cc-11e8-887b-f316b106e84a.png\" alt=\"스크린샷 2018-08-10 21.02.46\"></p>\n<p><img src=\"https://user-images.githubusercontent.com/39457256/45211059-4675d500-b2cc-11e8-83b0-c4bf7ef68d61.png\" alt=\"스크린샷 2018-08-10 21.05.48\"></p>\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\">box</span><span class=\"token punctuation\">(</span>w<span class=\"token punctuation\">,</span>h<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n\t<span class=\"token keyword\">return</span> <span class=\"token punctuation\">{</span>\n        width<span class=\"token punctuation\">:</span>w<span class=\"token punctuation\">,</span>\n        height<span class=\"token punctuation\">:</span>h<span class=\"token punctuation\">,</span>\n        getArea<span class=\"token punctuation\">:</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>width <span class=\"token operator\">*</span> <span class=\"token keyword\">this</span><span class=\"token punctuation\">.</span>height<span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n        printArea<span class=\"token punctuation\">:</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 comment\">//  debugger;</span>\n            console<span class=\"token punctuation\">.</span><span class=\"token function\">log</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">this</span><span class=\"token punctuation\">.</span><span class=\"token function\">getArea</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n<span class=\"token keyword\">var</span> b <span class=\"token operator\">=</span> <span class=\"token function\">box</span><span class=\"token punctuation\">(</span><span class=\"token number\">100</span><span class=\"token punctuation\">,</span><span class=\"token number\">20</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token function\">setTimeout</span><span class=\"token punctuation\">(</span>b<span class=\"token punctuation\">.</span>printArea<span class=\"token punctuation\">,</span> <span class=\"token number\">1000</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token comment\">// VM398:10 Uncaught TypeError: this.getArea is not a function</span>\n<span class=\"token comment\">//    at printArea (&lt;anonymous>:10:30)</span>\n<span class=\"token comment\">// 여기서 this는 윈도우 객체이기 때문에, 윈도우 객체에서 getArea는 있지 않다.</span>\n<span class=\"token comment\">// 기억 : setTimeout은 뭔가를 넘기면 다 global로 처리함!</span>\n\n<span class=\"token function\">setTimeout</span><span class=\"token punctuation\">(</span>b<span class=\"token punctuation\">.</span>prinArea<span class=\"token punctuation\">.</span><span class=\"token function\">bind</span><span class=\"token punctuation\">(</span><span class=\"token operator\">?</span><span class=\"token operator\">?</span><span class=\"token operator\">?</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span><span class=\"token number\">1000</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n           <span class=\"token comment\">//react에서 bind 많이 씀</span>\n           <span class=\"token comment\">//이벤트 핸들러에서 박아줄때</span>\n           <span class=\"token comment\">//callback 함수가 뭐에요? settimeout의 첫번째 인자가 콜백함수</span>\n           <span class=\"token comment\">//나중에 실행되는 함수가 콜백 함수.</span>\n\n\n\n      <span class=\"token comment\">// ???의 답 : setTimeout(b.printArea.bind(b),100);</span>\n\n<span class=\"token keyword\">function</span> <span class=\"token function\">template</span><span class=\"token punctuation\">(</span>name<span class=\"token punctuation\">,</span> money<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">return</span> <span class=\"token string\">'&lt;h1>'</span> <span class=\"token operator\">+</span> name <span class=\"token operator\">+</span> <span class=\"token string\">'&lt;/h1>&lt;/span>'</span> <span class=\"token operator\">+</span> money <span class=\"token operator\">+</span> <span class=\"token string\">'&lt;/span>'</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n\n<span class=\"token keyword\">var</span> tmplIngi <span class=\"token operator\">=</span> template<span class=\"token punctuation\">.</span><span class=\"token function\">bind</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">null</span><span class=\"token punctuation\">,</span> <span class=\"token string\">'Ingi Kim'</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">var</span> tmplHoyong <span class=\"token operator\">=</span> tmplate<span class=\"token punctuation\">.</span><span class=\"token function\">bind</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">null</span><span class=\"token punctuation\">,</span> <span class=\"token string\">'Hoyong Lee'</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></code></pre></div>","frontmatter":{"title":"Quiz - Wrong answer","date":"August 10, 2018"}}},"pageContext":{"isCreatedByStatefulCreatePages":false,"slug":"/til/20180810 Quiz-Wrong answer/","previous":{"fields":{"slug":"/development/2018-08-09-pre/"},"frontmatter":{"title":"Pre Course 소감","category":"essay"}},"next":{"fields":{"slug":"/til/20180811 프리코스 마지막 토이시간, 남은 한 달 동안 어떻게 공부해야 할 것인가/"},"frontmatter":{"title":"프리코스 마지막 토이시간, 남은 한 달 동안 어떻게 공부해야 할 것인가","category":"TIL"}}}}