function a() { return 1; }
function b() { return(1); }
Chrome 콘솔에서 위 코드를 테스트 한 결과 둘 다 1
.
function c() { return "1"; }
function d() { return("1"); }
또한 위의 코드를 테스트했으며 두 함수 모두 "1"
.
그래서 사용 return
과 사용의 차이점은 무엇 return()
입니까?
답변
사이와 동일
var i = 1 + 1;
과
var i = (1 + 1);
즉, 아무것도 아닙니다. 괄호는 모든 표현식에서 평가 순서에 영향을 줄 수 있기 때문에 허용되지만 예제에서는 불필요합니다.
return
은 함수가 아니라 문 입니다. 괄호를 사용하지 않는 break
및 같은 다른 간단한 제어 흐름 문과 구문 적으로 유사 continue
합니다.
답변
다른 점이 없다.
return
함수 호출이 아니라 언어 명령문입니다. 괄호로 수행하는 모든 작업은 단순히 반환 값을 그룹화하여 평가할 수 있도록하는 것입니다. 예를 들어 다음과 같이 작성할 수 있습니다.
return (x == 0);
이 경우 x == 0
부울을 반환 true
하거나 false
의 값에 따라 문의 값을 반환합니다 x
.
답변
실제로 여기 우선 순위 ()
가 높으므로 먼저 평가합니다.
먼저 ("1")
다음과 같은 방법으로 평가를받습니다.
("1") ==> "1"
("1","2") ==> "2"
("1","2","3") ==> "3"
("1"+"2","2"+"2","3"+"2") ==> "32"
(2+3+6) ==> 11
따라서 위의 문장은 다음과 같습니다.
return "1";
시각적으로보기 :
따라서 기본적으로 기능에는 차이가 없지만 두 번째는 먼저 대괄호를 해결하므로 약간 느릴 수 있습니다.
답변
전혀 차이가 없습니다. return 문의 JS (ECMAScript) 사양을 살펴 보겠습니다 . 다른 많은 것 중에서 다음과 같은 내용이 있습니다.
return [여기에 LineTerminator 없음] Expression;
에 식을 제공 할 수 있습니다 return
. 식입니다 hello
, Math.abs(x)
, yourCustomFunc(7)
, 또는 두 번째 경우에이 될 수 있습니다 1
또는 (1)
. 1
평가 후의 표현 은 정말 엽기적인 것과 (1)
같고 똑같다 .(((((1))))))
(+(!(+(!1))))
답변
차이가 없으며 괄호는 선택 사항입니다. MSDN 참조 :
return[(][expression][)];
선택적 표현식 인수는 함수에서 반환되는 값입니다. 생략하면 함수는 값을 반환하지 않습니다.
return 문을 사용하여 함수 실행을 중지하고 expression의 값을 반환합니다. expression이 생략되거나 함수 내에서 return 문이 실행되지 않으면 현재 함수를 호출 한 표현식에 undefined 값이 할당됩니다.
답변
return
이다 성명은 return 문 시작하는 키워드 , 하지 함수를.
앞서 언급했듯이 추가 괄호는 평가 순서에 영향을 주지만라는 함수를 “실행”하는 데 사용되지 않습니다 return
. 이것이 바로이 라인이 문제없이 작동하는 이유입니다.
return (1);
var a = (1);
사실상 다음 줄과 동일합니다.
return 1;
var a = 1;
그 이유는 return()
구문 오류가 정확한 이유입니다 던져 다음 줄에 오류가 발생합니다 (비교를 위해 포함 return 문) :
return(); // SyntaxError: syntax error
var a = (); // SyntaxError: syntax error
답변
인간에게는 큰 차이가 있으며 Javascript 엔진에는 차이가 없습니다.
return 1
값 1을 산출하는 함수를 즉시 종료해야한다고 선언 하는 문 입니다.
return(1)
자바 스크립트에서 괄호 바깥쪽에 공백을 삽입 할 의무가 없다는 바보 관습에 의해 함수 호출 로 위장한 동일한 문장 입니다. 프로덕션 시스템에서 이와 같은 코드를 사용한다면 모든 관리자는 return()
코드베이스 어딘가에 실제로 기능 이 있는지 또는 return
키워드가 무엇인지 모르는지 결정하는 데 약간의 시간을 보낸 후 스테이크와 횃불을 가지고 사무실에 올 것 입니다.
다른 많은 사람들이 이미 올바르게 말했듯이 괄호는 숫자에 대한 리터럴보다 우선 순위가 높은 “그룹”을 제외하고는 아무것도하지 않습니다 1
.