{"componentChunkName":"component---src-templates-blog-post-js","path":"/javascript/es6-화살표-함수-arrow-function/","result":{"data":{"site":{"siteMetadata":{"title":"Bottlehs Tech Blog","description":"웹·앱·AI 개발자 전병훈(bottlehs)의 기술 블로그. AI·LLM, JavaScript·Vue, Spring Boot, 알고리즘, 블록체인 실무 가이드를 다룹니다","siteUrl":"https://www.bottlehs.dev","author":{"name":"Jeon Byung Hun","summary":"개발을 즐기는 bottlehs - Engineer, MS, AI, FE, BE, OS, IOT, Blockchain, 설계, 테스트"},"social":{"github":"bottlehs","codepen":"bottlehs"}}},"markdownRemark":{"id":"90196b25-2c30-5e6f-ab8f-6a189b6671d1","excerpt":"ES6 화살표 함수 (arrow function expression) ES6에서는 익명함수를 표현하기 위해 화살표 함수(Arrow function) 표현식을 지원한다.\n기존에는 아래와 같이 함수를 선언 하였다. 위와 같은 함수를 ES6 화살표 함수(Arrow function…","html":"<p><img src=\"/assets/es6.png\" alt=\"ES6 화살표 함수 (arrow function expression)\" title=\"ES6 화살표 함수 (arrow function expression)\"></p>\n<p>ES6에서는 <strong>익명함수</strong>를 표현하기 위해 화살표 함수(Arrow function) 표현식을 지원한다.\n기존에는 아래와 같이 함수를 선언 하였다.</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">var</span> <span class=\"token function-variable function\">coffee</span> <span class=\"token operator\">=</span> <span class=\"token keyword\">function</span> <span class=\"token punctuation\">(</span><span class=\"token parameter\">americano<span class=\"token punctuation\">,</span> espresso</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token keyword\">var</span> cart <span class=\"token operator\">=</span> americano <span class=\"token operator\">*</span> espresso\n  <span class=\"token keyword\">return</span> cart\n<span class=\"token punctuation\">}</span>\n\n<span class=\"token keyword\">var</span> result <span class=\"token operator\">=</span> <span class=\"token function\">coffee</span><span class=\"token punctuation\">(</span><span class=\"token number\">10</span><span class=\"token punctuation\">,</span> <span class=\"token number\">20</span><span class=\"token punctuation\">)</span>\nconsole<span class=\"token punctuation\">.</span><span class=\"token function\">log</span><span class=\"token punctuation\">(</span>result<span class=\"token punctuation\">)</span> <span class=\"token comment\">// 200</span></code></pre></div>\n<p>위와 같은 함수를 ES6 화살표 함수(Arrow function) 을 사용하면 아래와 같이 간결하게 선언할 수 있다.</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">let</span> <span class=\"token function-variable function\">coffee</span> <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span><span class=\"token parameter\">americano<span class=\"token punctuation\">,</span> espresso</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> <span class=\"token punctuation\">{</span>\n  <span class=\"token keyword\">let</span> cart <span class=\"token operator\">=</span> americano <span class=\"token operator\">*</span> espresso\n  <span class=\"token keyword\">return</span> cart\n<span class=\"token punctuation\">}</span>\n\n<span class=\"token keyword\">var</span> result <span class=\"token operator\">=</span> <span class=\"token function\">coffee</span><span class=\"token punctuation\">(</span><span class=\"token number\">10</span><span class=\"token punctuation\">,</span> <span class=\"token number\">20</span><span class=\"token punctuation\">)</span>\nconsole<span class=\"token punctuation\">.</span><span class=\"token function\">log</span><span class=\"token punctuation\">(</span>result<span class=\"token punctuation\">)</span> <span class=\"token comment\">// 200</span></code></pre></div>\n<p>즉 function 이 생략되고 <code class=\"language-text\">=></code> 기호가 그 자리에 추가 된다. 또한 아래와 같이 구문이 하나밖에 없으면 <code class=\"language-text\">{}</code> 기호를 생략할 수 있다.</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">let</span> <span class=\"token function-variable function\">coffee</span> <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span><span class=\"token parameter\">americano<span class=\"token punctuation\">,</span> espresso</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> americano <span class=\"token operator\">*</span> espresso\n<span class=\"token keyword\">var</span> result <span class=\"token operator\">=</span> <span class=\"token function\">coffee</span><span class=\"token punctuation\">(</span><span class=\"token number\">10</span><span class=\"token punctuation\">,</span> <span class=\"token number\">20</span><span class=\"token punctuation\">)</span>\nconsole<span class=\"token punctuation\">.</span><span class=\"token function\">log</span><span class=\"token punctuation\">(</span>result<span class=\"token punctuation\">)</span> <span class=\"token comment\">// 200</span></code></pre></div>\n<p><code class=\"language-text\">return</code> 을 생략한 것으로서, <code class=\"language-text\">return americano * espresso</code> 와 같다. 만약, 화살표 앞에 줄을 분리하면 SyntaxError 가 발생 한다.</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">let</span> coffee <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span>americano<span class=\"token punctuation\">,</span>espresso<span class=\"token punctuation\">)</span> <span class=\"token operator\">=</span> <span class=\"token operator\">></span> americano <span class=\"token operator\">*</span> espresso<span class=\"token punctuation\">;</span> <span class=\"token comment\">// SyntaxError</span></code></pre></div>\n<p>파라미터가 하나이면 소괄호 <code class=\"language-text\">()</code>를 제외하고 해당 파라미터만 작성이 가능하다.</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">let</span> <span class=\"token function-variable function\">coffee</span> <span class=\"token operator\">=</span> <span class=\"token parameter\">americano</span> <span class=\"token operator\">=></span> americano <span class=\"token operator\">*</span> <span class=\"token number\">20</span>\n<span class=\"token keyword\">var</span> result <span class=\"token operator\">=</span> <span class=\"token function\">coffee</span><span class=\"token punctuation\">(</span><span class=\"token number\">10</span><span class=\"token punctuation\">)</span>\nconsole<span class=\"token punctuation\">.</span><span class=\"token function\">log</span><span class=\"token punctuation\">(</span>result<span class=\"token punctuation\">)</span> <span class=\"token comment\">// 200</span></code></pre></div>\n<p>파라미터가 없는 경우, 소괄호 <code class=\"language-text\">()</code> 만 작성한다.</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">let</span> <span class=\"token function-variable function\">coffee</span> <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> <span class=\"token number\">10</span> <span class=\"token operator\">*</span> <span class=\"token number\">20</span>\n<span class=\"token keyword\">var</span> result <span class=\"token operator\">=</span> <span class=\"token function\">coffee</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>result<span class=\"token punctuation\">)</span> <span class=\"token comment\">// 200</span></code></pre></div>\n<p>Arrow function은 IE환경에서 아직 제공하지 않는다.</p>\n<p><img src=\"/assets/%E1%84%8B%E1%85%B5%E1%86%A8%E1%84%86%E1%85%A7%E1%86%BC%E1%84%92%E1%85%A1%E1%86%B7%E1%84%89%E1%85%AE_%E1%84%87%E1%85%B3%E1%84%85%E1%85%A1%E1%84%8B%E1%85%AE%E1%84%8C%E1%85%A5%E1%84%92%E1%85%A9%E1%84%92%E1%85%AA%E1%86%AB%E1%84%89%E1%85%A5%E1%86%BC.png\" alt=\"화살표 함수(Arrow function) 브라우저 호환성\" title=\"화살표 함수(Arrow function) 브라우저 호환성\"></p>\n<p>사용할려면 babel 을 사용해야 하는데 babel 은 다음에 자세히 알아 보도록 하겠다.</p>","tableOfContents":"","wordCount":{"words":110},"fields":{"slug":"/javascript/es6-화살표-함수-arrow-function/","image":"/assets/es6.png","faq":[]},"frontmatter":{"title":"ES6 화살표 함수 (arrow function expression)","date":"2020년 10월 21일","dateISO":"2020-10-21T13:00:33.383Z","updatedISO":null,"category":"javascript","description":"ES6에서는 익명함수를 표현하기 위해 화살표 함수 (Arrow function) 표현식을 지원한다.","tags":["화살표 함수","Arrow function","ES6","ECMA2015","익명함수","JS"]}}},"pageContext":{"slug":"/javascript/es6-화살표-함수-arrow-function/","previous":{"fields":{"slug":"/etc/chrome-cross-origin/"},"frontmatter":{"title":"Chrome cross origin","tags":["OSX","Windows","Chrome"]}},"next":{"fields":{"slug":"/javascript/es6-클래스-class/"},"frontmatter":{"title":"ES6 클래스 (Class)","tags":["ES6","Class","객체지향","Function","JavaScript"]}}}},"staticQueryHashes":["213619243","3262363727"]}