집 >웹 프론트엔드 >JS 튜토리얼 >JavaScript의 화살표 기능 : Fat & Concise Syntax
JavaScript의 화살표 기능 : Fat & Concise Syntax
尊渡假赌尊渡假赌尊渡假赌원래의
2025-02-09 12:03:181038검색
JavaScript 화살표 함수에 대한 심층적 인 이해. 코드에서 화살표 함수를 사용할 때 ES6 화살표 구문을 사용하는 방법과 몇 가지 일반적인 실수를 보여줍니다. 당신은 그것이 어떻게 작동하는지를 보여주는 많은 예를 보게 될 것입니다.
ECMAScript 2015 (ES6이라고도 함)가 출시 된 후 JavaScript 화살표 기능이 나타났습니다. 간결한 구문과
키워드를 처리하는 방법 덕분에 화살표 기능은 개발자가 가장 좋아하는 기능 중 하나가되었습니다.
키 포인트 this
화살표 함수는 키워드, 곱슬 브레이스 및 키워드가 하나만있을 때 키워드를 제거하여 JavaScript의 간결한 구문을 제공합니다.
단일 파라미터 함수의 경우 화살표 기능 매개 변수의 괄호를 생략 할 수 있지만 비 모리터 또는 다중 매개 변수 기능 및 기본 매개 변수를 사용할 때는 브래킷을 사용해야합니다.
화살표 함수는 본질적으로 익명이므로 이름 식별자가 없지만 변수에 할당하면 기능 이름이 변수에서 유추 할 수 있습니다. function
화살표 함수의 {} 키워드는 호출되는 곳이 아닌 화살표 함수의 닫힌 컨텍스트를 사용자 정의하기 위해 그 값을 캡처하므로 외부 return에 결합 해야하는 전통적인 기능 표현식에 적합합니다. 컨텍스트 조건.
화살표 함수는 모든 경우, 특히 객체의 방법 또는
생성자를 사용할 때 어휘
바인딩이 있고
객체가 누락되기 때문에 모든 경우에 적합하지 않습니다.
,
, this, this,
, , , 및
와 같은 배열 메소드와 함께 화살표 함수를 사용하면 가독성과 단순성을 향상시킬 수 있습니다. , 그러나 특정 상황 에서이 작업에 적합한 도구인지 확인하려면주의를 기울여야합니다. functionthis 화살표 함수 구문 : 정기적 인 함수를 다시 작성하십시오
arguments 기능은 액션 수행 또는 값을 반환하는 등 프로그램에서 발생해야 할 일을 달성하기 위해 유용한 지침을 저장할 수있는 레시피와 같습니다. 기능을 호출하면 레시피에 포함 된 단계를 수행 할 수 있습니다. 레시피를 반복해서 다시 작성하지 않고 함수를 호출 할 때 마다이 작업을 수행 할 수 있습니다.
다음은 함수를 선언하고 javaScript로 호출하는 표준 방법입니다.
다음과 같은 함수 표현식과 동일한 함수를 쓸 수도 있습니다.
.map() JavaScript 화살표 함수는 항상 표현식입니다. 지방 화살표 표기법을 사용하여 위의 함수를 화살표 함수 표현식으로 다시 작성하는 방법은 다음과 같습니다.
.sort() 장점은 다음과 같습니다
코드의 한 줄만
no 키워드
no 키워드
곱슬 형 괄호 안 function
JavaScript 에서이 기능은 "일등석 시민"입니다. 변수에 함수를 저장하고, 다른 기능에 인수로 전달하고, 다른 함수의 값으로 반환 할 수 있습니다. JavaScript 화살표 기능 으로이 모든 것을 수행 할 수 있습니다. return 브라켓 구문 없음
위의 예에서는 함수에 매개 변수가 없습니다. 이 경우 지방 화살표 (= & gt;) 기호 앞에 빈 브래킷 세트 () 세트를 추가해야합니다. 여러 매개 변수가있는 함수를 만들 때도 마찬가지입니다.
그러나 매개 변수가 하나만 있으면 브래킷을 생략 할 수 있습니다 (이를 수행 할 필요는 없지만 가능) : .
그러나 조심하십시오. 예를 들어, 기본 매개 변수를 사용하기로 결정한 경우 괄호 안에 포함시켜야합니다.
{} 단지 당신이 할 수 있기 때문에 당신이해야한다는 의미는 아닙니다. 가벼우면서도 친절한 풍자로 카일 심슨 (Kyle Simpson) ( "You No No Know JS"의 저자)은이 흐름도에 괄호를 생략하는 것에 대한 그의 생각을 넣었습니다. (유량 차트는 여기에 삽입되어야하지만 그림을 직접 삽입 할 수 없으므로 여기에 생략됩니다)
암시 적 반환
기능 본문에 표현이 하나만있을 때 ES6 화살표 구문을 더 간결하게 만들 수 있습니다. 모든 것을 한 줄에 넣고 곱슬 버팀대를 제거한 다음
키워드를 제거 할 수 있습니다.
당신은 위의 예에서 이러한 깔끔한 코드 라인이 어떻게 작동하는지 보았습니다. 참조에 대한 또 다른 예제를 알려 드리겠습니다. OrderByLikes () 함수의 함수는 이름입니다. 가장 많은 숫자의 순서대로 배열 된 Netflix 시리즈 객체의 배열을 반환합니다.
이것은 멋지지만 코드의 가독성에주의하십시오. 특히 코드 라인과 브랜치가없는 ES6 화살표 구문을 사용하여 많은 화살표 기능을 정렬 할 때 다음과 같이 다음과 같이하십시오.
> 거기서 무슨 일이 있었나요? 정기적 인 기능 구문을 사용해보십시오
이제 외부 함수 인사말에 매개 변수 인사말을 가지고 익명의 함수를 반환하는 방법을 빠르게 이해할 수 있습니다. 결과적 으로이 내부 함수에는 이름이 이름이라는 매개 변수가 있으며 인사말 및 이름 값을 사용하여 문자열을 반환합니다. 기능을 호출하는 방법은 다음과 같습니다
이 암시 적 반환 오류에 주목하십시오
JavaScript 화살표 함수에 여러 문장이 포함 된 경우 모든 진술을 곱슬 괄호로 둘러싸고
다음 코드 에서이 함수는 Netflix 시리즈 제목과 요약이 포함 된 객체를 작성합니다 (Netflix 댓글은 Rotten Tomato 웹 사이트에서) : .
<p>
함수의 화살표 함수는 일련의 문을 통해 확장되고 마지막으로 객체를 반환합니다. 이것은 기능 본문 주위에 곱슬 버팀대를 사용하는 것이 불가피합니다. </p>
<you> 또한 곱슬 버팀대를 사용하고 있기 때문에 암시 적 반환은 옵션이 아닙니다. 키워드를 사용해야합니다. <pre class="brush:php;toolbar:false"><code class="language-javascript">const sayHiStranger = function () {
return 'Hi, stranger!'
}</code></pre> 함수 <p>가 암시 적 반환을 사용하여 객체 문자 그럴을 반환하면 괄호 안에 객체를 동봉해야합니다. JavaScript 엔진이 실수로 객체의 괄호를 함수의 교정기에 구문 분석하기 때문에 그렇게하지 않으면 오류가 발생합니다. 위에서 방금 알 수 있듯이 화살표 기능에서 곱슬 브레이스를 사용할 때 <em> 키워드를 생략 할 수 없습니다. </em>
<version version> 이전 코드의 짧은 버전은이 구문을 보여줍니다 :
<code>return 당신은 화살표 기능을 지정할 수 없습니다
키워드와 매개 변수 목록 사이에 이름 식별자가없는 함수는 익명 함수 라고합니다. 일반 익명 함수 표현식이 어떻게 보이는지는 다음과 같습니다.
화살표 함수는 모두 익명 함수입니다
ES6에서 시작하여 변수와 메소드는 속성을 사용하여 구문 위치를 기준으로 익명 함수의 이름을 유추 할 수 있습니다. 따라서 값을 확인하거나 오류를보고 할 때 기능을 인식 할 수 있습니다.
속성은 위의 예와 같이 익명 함수가 변수에 할당 될 때만 존재합니다. 익명 함수를 콜백 함수로 사용하면이 실용적인 기능이 손실됩니다. 이것은 다음 시연으로 설명되며,
메소드의 익명 함수는
속성을 사용할 수 없습니다.
function
그 이상. 이 추론 된 속성은 여전히 함수 내에서 함수를 참조 할 수있는 적절한 식별자로 사용할 수 없습니다 (예 : 재귀, 무례한 이벤트 등). 화살표 기능의 본질적인 익명 성은 Kyle Simpson이 다음과 같이 자신의 견해를 표현하게합니다.
익명 함수는 프로그램에서 자주 사용하기에 적합하지 않다고 생각하기 때문에 = & gt; 화살표 기능 양식을 사용하는 것을 좋아하지 않습니다. —— "당신은 JS를 모릅니다"