상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
궁금한 상식 보기
국민연금의 가입 기간 중에 중단할 수 있나요?
국민연금의 가입자격을 상실하는 경우는 어떤 경우인가요?
바다낚시를 할 때 날씨는 얼마나 중요한가요?
교토에서의 지역 주민과의 만남은 어떻게 이루어지나요?
교토에서의 여행 중에 추천하는 웹사이트는 무엇인가요?
교토의 유명한 전통 축제에서의 활동은 무엇인가요?
야토병의 유전적 요인은 무엇인가요?
야토병의 증상은 계절에 따라 달라질 수 있나요?
간헐적 단식이 가족과의 식사에 미치는 영향은 무엇인가요?
뼈 건강을 위한 사회적 활동의 중요성은 무엇인가요?
간 건강을 위한 최적의 식사량은 얼마인가요?
손목의 부상을 예방하기 위한 자세는?
Previous
Next
수정하기 - 자바스크립트에서 화살표 함수(Arrow Function)는 무엇인가요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
<a href='https://sangseek.com/sangseeks/화살표 함수/ko'>화살표 함수</a>(Arrow Function)는 <a href='https://sangseek.com/sangseeks/자바/ko'>자바</a>스크립트에서 ES6(ECMAScript 2015)에서 도입된 <a href='https://sangseek.com/sangseeks/함수 표현식/ko'>함수 표현식</a>의 한 형태입니다. 화살표 함수는 기존의 <a href='https://sangseek.com/sangseeks/함수 선언/ko'>함수 선언</a> 방식과 비교하여 더 간결하고 직관적인 문법을 제공하며, 특히 `this` 키워드의 동작 방식이 다르기 때문에 많은 개발자들에게 선호되고 있습니다. 기본 문법 화살표 함수의 기본 문법은 다음과 같습니다: ```javascript const 함수이름 = (<a href='https://sangseek.com/sangseeks/매개/ko'>매개</a>변수1, 매개변수2, ...) => { // 함수 본문 return <a href='https://sangseek.com/sangseeks/결과값/ko'>결과값</a>; }; ``` 매개변수가 하나일 경우 괄호를 생략할 수 있으며, 함수 본문이 하나의 표현식일 경우 중괄호와 `return` 키워드를 생략할 수 있습니다. 예를 들어: ```javascript const 더하기 = (a, b) => a + b; const 제곱 = x => x * x; ``` 특징 1. 간결한 문법 : 화살표 함수는 코드가 더 간결해지며, 특히 짧은 함수의 경우 가독성이 높아집니다. 2. `this` 바인딩 : 화살표 함수는 자신만의 `this` 값을 가지지 않습니다. 대신, 외부 컨텍스트의 `this` 값을 <a href='https://sangseek.com/sangseeks/lexically/ko'>lexically</a>(어휘적으로) 바인딩합니다. 이는 특히 콜백 함수나 메서드에서 `this`를 사용할 때 유용합니다. ```javascript function Person() { this.age = 0; setInterval(() => { this.age++; // 'this'는 Person <a href='https://sangseek.com/sangseeks/객체/ko'>객체</a>를 가리킴 console.log(this.age); }, 1000); } const p = new Person(); ``` 위의 예제에서 `setInterval` 안의 화살표 함수는 `Person` 객체의 `this`를 참조하므로, `age` 속성을 올바르게 증가시킵니다. 3. `arguments` 객체 없음 : 화살표 함수는 `arguments` 객체를 가지지 않습니다. 만약 `arguments`가 필요하다면, 일반 함수 표현식을 사용해야 합니다. 대신, 나머지 매개변수(rest parameters)를 사용할 수 있습니다. ```javascript const 함수 = (...args) => { console.log(args); }; ``` 4. 생성자 함수로 사용 불가 : 화살표 함수는 생성자 함수로 사용할 수 없습니다. 즉, `new` 키워드와 함께 사용할 수 없으며, `prototype` 속성을 가지지 않습니다. 5. 메서드로 사용 시 주의 : 객체의 메서드로 화살표 함수를 사용할 경우, `this`가 객체를 참조하지 않기 때문에 주의해야 합니다. ```javascript const obj = { value: 42, method: () => { console.log(this.value); // undefined } }; obj.method(); ``` 사용 예시 화살표 함수는 주로 배열의 메서드와 함께 사용됩니다. 예를 들어, `map`, `filter`, `reduce` 등의 메서드에서 간결한 콜백 함수를 작성할 때 유용합니다. ```javascript const 숫자들 = [1, 2, 3, 4, 5]; const 제곱들 = 숫자들.map(num => num * num); console.log(제곱들); // [1, 4, 9, 16, 25] ``` 결론 화살표 함수는 자바스크립트에서 함수 표현식을 작성하는 데 있어 매우 유용한 도구입니다. 간결한 문법과 `this`의 lexically 바인딩 특성 덕분에 많은 개발자들이 선호합니다. 하지만, 화살표 함수의 특성을 잘 이해하고 적절한 상황에서 사용하는 것이 중요합니다. 이를 통해 코드의 가독성과 유지보수성을 높일 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기