JS 튜토리얼

제이에스 홈 JS 소개 JS 어디로 JS 출력 JS 문 JS 구문 JS 코멘트 JS 변수 제이에스렛 JS 상수 JS 연산자 JS 산술 JS 할당 JS 데이터 유형 JS 함수 JS 객체 JS 이벤트 JS 문자열 JS 문자열 메서드 JS 문자열 검색 JS 문자열 템플릿 JS 번호 JS 숫자 메서드 JS 배열 JS 배열 메서드 JS 배열 정렬 JS 배열 반복 JS 배열 상수 JS 날짜 JS 날짜 형식 JS 날짜 가져오기 메서드 JS 날짜 설정 방법 JS 수학 JS 랜덤 JS 부울 JS 비교 JS 조건 JS 스위치 JS 루프 In에 대한 JS 루프 의 JS 루프 JS 루프 동안 JS 브레이크 JS 이터러블 JS 세트 JS 맵 JS 유형 JS 유형 변환 JS 비트와이즈 JS 정규 표현식 JS 오류 JS 범위 JS 호이스팅 JS 엄격 모드 JS 이 키워드 JS 화살표 함수 JS 클래스 JS JSON JS 디버깅 JS 스타일 가이드 JS 모범 사례 JS 실수 JS 성능 JS 예약어

JS 버전

JS 버전 JS 2009(ES5) JS 2015(ES6) JS 2016 JS 2017 JS 2018 JS IE / 엣지 JS 연혁

JS 객체

객체 정의 개체 속성 개체 메서드 개체 표시 개체 접근자 객체 생성자 개체 프로토타입 객체 반복 가능 객체 세트 객체 맵 개체 참조

JS 함수

기능 정의 기능 매개변수 함수 호출 함수 호출 기능 적용 함수 클로저

JS 클래스

수업 소개 클래스 상속 클래스 정적

JS 비동기

JS 콜백 JS 비동기 JS 약속 JS 비동기/대기

JS HTML DOM

DOM 소개 DOM 메서드 DOM 문서 DOM 요소 DOM HTML DOM 양식 DOM CSS DOM 애니메이션 DOM 이벤트 DOM 이벤트 리스너 DOM 탐색 DOM 노드 DOM 컬렉션 DOM 노드 목록

JS 브라우저 BOM

JS 창 JS 화면 JS 위치 JS 연혁 JS 네비게이터 JS 팝업 경고 JS 타이밍 JS 쿠키

JS 웹 API

웹 API 소개 웹 양식 API 웹 기록 API 웹 스토리지 API 웹 작업자 API 웹 가져오기 API 웹 지리적 위치 API

JS 아약스

AJAX 소개 AJAX XMLHttp AJAX 요청 AJAX 응답 AJAX XML 파일 AJAX PHP AJAX ASP AJAX 데이터베이스 AJAX 애플리케이션 AJAX 예제

JS JSON

JSON 소개 JSON 구문 JSON 대 XML JSON 데이터 유형 JSON 구문 분석 JSON 문자열화 JSON 객체 JSON 배열 JSON 서버 JSON PHP JSON HTML JSON JSONP

JS 대 jQuery

jQuery 선택기 제이쿼리 HTML 제이쿼리 CSS 제이쿼리 DOM

JS 그래픽

JS 그래픽 JS 캔버스 JS 플로틀리 JS 차트.js JS 구글 차트 JS D3.js

JS 예제

JS 예제 JS HTML DOM JS HTML 입력 JS HTML 객체 JS HTML 이벤트 JS 브라우저 JS 편집기 JS 연습 JS 퀴즈 JS 인증서

JS 참조

자바스크립트 객체 HTML DOM 객체


자바스크립트 화살표 함수

화살표 함수는 ES6에 도입되었습니다.

화살표 함수를 사용하면 더 짧은 함수 구문을 작성할 수 있습니다.

let myFunction = (a, b) => a * b;

전에:

hello = function() {
  return "Hello World!";
}

화살표 기능으로:

hello = () => {
  return "Hello World!";
}

짧아진다! 함수에 명령문이 하나만 있고 명령문이 값을 반환하는 경우 대괄호와 키워드를 제거할 있습니다return .

기본적으로 화살표 함수 반환 값:

hello = () => "Hello World!";

참고: 이는 함수에 명령문이 하나만 있는 경우에만 작동합니다.

매개변수가 있는 경우 괄호 안에 전달합니다.

매개변수가 있는 화살표 기능:

hello = (val) => "Hello " + val;

실제로 매개변수가 하나만 있는 경우 괄호도 건너뛸 수 있습니다.

괄호가 없는 화살표 함수:

hello = val => "Hello " + val;
this


this어때요 ?

의 처리 this도 일반 함수와 비교하여 화살표 함수에서 다릅니다.

요컨대, 화살표 기능에는 의 바인딩이 없습니다 this.

일반 함수에서 this키워드는 함수를 호출한 개체를 나타냅니다. 창, 문서, 버튼 또는 무엇이든 될 수 있습니다.

화살표 기능을 사용하면 this키워드 는 항상 화살표 기능을 정의한 객체를 나타냅니다.

차이점을 이해하기 위해 두 가지 예를 살펴보겠습니다.

두 예제 모두 페이지가 로드될 때 먼저 메서드를 호출하고 사용자가 버튼을 클릭할 때 다시 한 번 메서드를 두 번 호출합니다.

첫 번째 예제는 일반 함수를 사용하고 두 번째 예제는 화살표 함수를 사용합니다.

결과는 창 개체가 함수의 "소유자"이기 때문에 첫 번째 예는 두 개의 다른 개체(창 및 단추)를 반환하고 두 번째 예는 창 개체를 두 번 반환함을 보여줍니다.

예시

일반 함수 는 함수를 호출this 하는 객체를 나타냅니다 .

// Regular Function:
hello = function() {
  document.getElementById("demo").innerHTML += this;
}

// The window object calls the function:
window.addEventListener("load", hello);

// A button object calls the function:
document.getElementById("btn").addEventListener("click", hello);

예시

화살표로 함수 는 함수의 소유자this 를 나타냅니다 .

// Arrow Function:
hello = () => {
  document.getElementById("demo").innerHTML += this;
}

// The window object calls the function:
window.addEventListener("load", hello);

// A button object calls the function:
document.getElementById("btn").addEventListener("click", hello);

함수로 작업할 때 이러한 차이점을 기억하십시오. 때로는 일반 함수의 동작이 원하는 것이지만 그렇지 않은 경우 화살표 함수를 사용합니다.


브라우저 지원

다음 표는 JavaScript의 Arrow Functions를 완벽하게 지원하는 첫 번째 브라우저 버전을 정의합니다.

Chrome 45 Edge 12 Firefox 22 Safari 10 Opera 32
Sep, 2015 Jul, 2015 May, 2013 Sep, 2016 Sep, 2015