return
를 사용하여 함수가 최종으로 생성해야 하는 값을 지정합니다.
표시됩니다. 인터프리터가 return
문에 도달하면
해당 문이 즉시 종료되고 지정된 값이
함수가 호출된 컨텍스트:
const myFunction = function() {
return 2 + 2;
}
myFunction();
> 4
값을 반환하는 함수는 데이터를 반환하는 함수로 효과적으로 취급될 수 있습니다. 다음과 같이 변수를 포함합니다.
const myFunction = function() {
return 2 + 2;
}
myFunction() + myFunction();
> 8
표현식이 없는 return
문은 함수를 종료하고 다음을 반환합니다.
undefined
:
const myFunction = function() {
return;
}
myFunction();
> undefined
return
키워드는 함수의 끝을 나타내므로
다음과 같은 경우 발생한 return
가 실행되지 않습니다.
const myFunction = function() {
return true;
console.log( "This is a string." );
}
myFunction();
> true
또한 발생한 return
문 뒤에 오는 코드는
경고 (오류 아님)가 표시됩니다. 있습니다.
const myFunction = function() {
return true;
console.log( "This is a string." );
}
> unreachable code after return statement
myFunction();
> true
다시 말하지만, 이 내용은 return
명령문에
함수 실행(return
문 뒤에 오는 코드는 순차적으로)되지 않습니다.
const myFunction = function( myParameter ) {
if( myParameter === undefined ) {
return "This is the result.";
}
return "This is the alternate result.";
}
myFunction();
> "This is the result."
myFunction( true );
> "This is the alternate result."
'합선' 초기 return
를 사용하는 함수를 통해 더 간결하게
함수 끝에 있는 단일 return
문보다 훨씬 더 큰 숫자입니다. 예를 들어
다음 함수는 전달된 값이 5를 포함하는 문자열인지 여부를 결정합니다.
합니다(영문 기준). 전달된 값이 문자열 리터럴이 아니면
문자 수를 세는 데 필요하지 않으며 함수는 false
를 반환할 수 있습니다.
즉시 결과:
function myFunction( myString ) {
if( typeof myString !== "string" ) {
return false;
}
if( myString.length >= 5 ) {
return true;
} else {
return false;
}
}
myFunction( 100 );
> false
myFunction( "St" );
> false
myFunction( "String." );
> true
화살표 함수 표현식
화살표 함수 본문이return
에는 단일 표현식이 포함되며 블록 구문은 없습니다.
const myFunction = () => 2 + 2;
myFunction();
> 4
블록 구문을 사용하여 화살표 함수 본문을 정의하는 경우 명시적 return
함수 본문에 하나의 표현식만 포함된 경우에도 필요합니다.
const myFunction = () => { 2 + 2 };
myFunction();
> undefined
const myFunction = () => { return 2 + 2 };
myFunction();
> 4
이해도 확인
return
의 용도는 무엇인가요?