{"data":{"site":{"siteMetadata":{"title":"lastrites2018","author":"lastrites2018","siteUrl":"https://lastrites2018.netlify.com","comment":{"disqusShortName":"","utterances":"lastrites2018/gatsby-first-blog"},"sponsor":{"buyMeACoffeeId":""}}},"markdownRemark":{"id":"3857d572-c616-5022-8f75-276fbf4f5fc4","excerpt":"checkpoint 7~checkpoint 8 팁 개발자도구 - Eager evalution - 엔터 안 쳐도 값 볼 수 있음 공부할 부분 !! (애매한 값을 확실하게 Boolean 값으로 바꿔줌) contains -> mdn 찾아보고 사용할 것","html":"<h2 id=\"checkpoint-7checkpoint-8\"><a href=\"#checkpoint-7checkpoint-8\" aria-label=\"checkpoint 7checkpoint 8 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>checkpoint 7~checkpoint 8</h2>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token function\">setTimeout</span><span class=\"token punctuation\">(</span>펑션<span class=\"token punctuation\">,</span> 시간<span class=\"token punctuation\">)</span>\n\n<span class=\"token number\">1.</span> alice<span class=\"token punctuation\">.</span><span class=\"token function\">sayHi</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span> <span class=\"token comment\">// 호출</span>\n<span class=\"token keyword\">function</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span>익명 함수를 만들어놓았고<span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span> 실행을 하는 것은 setTimeout이 한다<span class=\"token punctuation\">.</span> <span class=\"token number\">1000</span> 밀리 세컨즈 후에<span class=\"token punctuation\">.</span>\n<span class=\"token number\">1</span>번은 앨리스가 실행하는 거고 실행을 하는 주체<span class=\"token punctuation\">,</span> <span class=\"token function\">닷</span><span class=\"token punctuation\">(</span>dot<span class=\"token punctuation\">)</span> 잘 보면 된다<span class=\"token punctuation\">.</span>\n\n<span class=\"token number\">2.</span> alice가 실행하는 것처럼 보이지만 <span class=\"token keyword\">function</span>만 던져주고\nalice<span class=\"token punctuation\">.</span>sayHi<span class=\"token operator\">-</span><span class=\"token operator\">></span> 메소드만을 끄집어내는 것일뿐\n<span class=\"token keyword\">function</span><span class=\"token punctuation\">.</span>alert<span class=\"token punctuation\">.</span><span class=\"token keyword\">this</span><span class=\"token punctuation\">.</span>name<span class=\"token punctuation\">.</span><span class=\"token function\">sayhi</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n<span class=\"token number\">2</span>번은 실행을 하는 것이 <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> 주체가 없기 때문에 window<span class=\"token punctuation\">,</span>\n그리고 실행은 안 한 상태로 메소드만 가져왔기 때문에 <span class=\"token number\">1</span>초후에 실행\n\n<span class=\"token number\">3.</span> 이건 함수\n주체에 alice를 bind\n\n<span class=\"token number\">4.</span> <span class=\"token function\">setTimeout</span><span class=\"token punctuation\">(</span>alice<span class=\"token punctuation\">.</span><span class=\"token function\">sayHi</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span> <span class=\"token number\">1000</span><span class=\"token punctuation\">)</span>\n즉시 실행을 넣어버린 것 setTimeout 잘못 쓰는 예제\n\n<span class=\"token number\">6.</span> call이기 때문에 즉시 실행<span class=\"token punctuation\">.</span> <span class=\"token punctuation\">(</span>call<span class=\"token punctuation\">,</span>apply 는 즉시 실행<span class=\"token punctuation\">,</span> bind는 새로운 함수를 반환해줌<span class=\"token punctuation\">)</span>\n\n이후는 녹화 강의 다시 들을 것<span class=\"token punctuation\">.</span>\n\n\ncheckpoint <span class=\"token number\">08</span>\ntime이랑 f를 받는데<span class=\"token punctuation\">,</span>\n\n비동기 영역 안에서는 순서가 없다\n비동기로 부른 애들이 불려나올 시간은 늘어날 수 있지만 줄어들 수는 없다\n\n<span class=\"token function\">wait</span><span class=\"token punctuation\">(</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span> f<span class=\"token punctuation\">)</span> 비동기 영역\n<span class=\"token comment\">// second 수가 중요한게 아니다. 비동기인 이상 일단 비동기 영역으로 방문하게 되어있다.</span>\nconsole<span class=\"token punctuation\">.</span><span class=\"token function\">log</span><span class=\"token punctuation\">(</span><span class=\"token string\">'hello'</span><span class=\"token punctuation\">)</span> 동기\n\n\n<span class=\"token function\">wait</span><span class=\"token punctuation\">(</span><span class=\"token number\">100</span><span class=\"token punctuation\">,</span> 함수<span class=\"token punctuation\">)</span>\nconsole<span class=\"token punctuation\">.</span><span class=\"token function\">log</span><span class=\"token punctuation\">(</span><span class=\"token string\">'hello'</span><span class=\"token punctuation\">)</span>\n<span class=\"token function\">wait</span><span class=\"token punctuation\">(</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span>f<span class=\"token punctuation\">)</span>\n\n콜백을 통해 개별적으로 순서를 확정시켜줄 수 있음\n\n<span class=\"token number\">4.</span> <span class=\"token function\">exercise</span><span class=\"token punctuation\">(</span><span class=\"token function\">callback</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n\n<span class=\"token number\">6.</span> <span class=\"token keyword\">function</span> <span class=\"token function\">foo</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token keyword\">var</span> data <span class=\"token operator\">=</span> <span class=\"token number\">10</span><span class=\"token punctuation\">;</span>\n\n  <span class=\"token function\">bar</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">function</span> <span class=\"token punctuation\">(</span>players<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    data <span class=\"token operator\">=</span> players<span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  <span class=\"token comment\">// 비동기는 저 멀리 여행 가버리고,</span>\n  <span class=\"token keyword\">return</span> data<span class=\"token punctuation\">;</span> <span class=\"token comment\">// 리턴해버림.</span>\n<span class=\"token punctuation\">}</span>\n\n<span class=\"token keyword\">function</span> <span class=\"token function\">bar</span> <span class=\"token punctuation\">(</span>callback<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token function\">setTimeout</span><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\">callback</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 punctuation\">}</span><span class=\"token punctuation\">,</span> <span class=\"token number\">500</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n<span class=\"token number\">7.</span> 다시 공부해보기\n\n<span class=\"token operator\">*</span> 함수들이 아무리 많아도<span class=\"token punctuation\">,</span> 다 실행된 다음에 당장 콜 스택에 들어올 애들이 없을때 이벤트 루프에서 올려줌<span class=\"token punctuation\">.</span></code></pre></div>\n<h2 id=\"팁\"><a href=\"#%ED%8C%81\" aria-label=\"팁 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>팁</h2>\n<p>개발자도구 - Eager evalution - 엔터 안 쳐도 값 볼 수 있음</p>\n<h2 id=\"공부할-부분\"><a href=\"#%EA%B3%B5%EB%B6%80%ED%95%A0-%EB%B6%80%EB%B6%84\" aria-label=\"공부할 부분 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>공부할 부분</h2>\n<p>!! (애매한 값을 확실하게 Boolean 값으로 바꿔줌)</p>\n<p>contains -> mdn 찾아보고 사용할 것</p>","frontmatter":{"title":"Immersive Sprint - DATA Structure Day 4","date":"September 22, 2018"}}},"pageContext":{"isCreatedByStatefulCreatePages":false,"slug":"/til/20180922 IM08D06 DATA Structure Day 4/","previous":{"fields":{"slug":"/til/20180921 IM08D05 DATA Structure Day 3/"},"frontmatter":{"title":"Immersive Sprint - DATA Structure Day 3","category":"TIL"}},"next":{"fields":{"slug":"/til/20180925 Instantiation Patterns/"},"frontmatter":{"title":"Instantiation Patterns","category":"TIL"}}}}