2013-09-29 2 views
0

자바 스크립트 (또는 대부분의 경우 ECMAscript 일반적으로) 이것을 작성하는 가장 적합한 방법은 무엇입니까?적절한 인라인 try catch

try { ajax.abort() } catch(e) { console.error (e) } 

또는 그것은 세미콜론처럼 보인다
try { ajax.abort(); } catch(e) { console.error (e); } 

이 상황에 대한 불필요한하지만 동시에 나는 일반적으로 내가 그들의 표준에 대한 세미콜론을 사용하는 경우 5 개 라인 대신 하나에 쓰기 프로그래밍 목적 (eol).

두 가지 모두 작동하며 둘 다 유효성을 검사 할 것이므로 의미상으로 정확합니까?

+1

* 의미 상 * 동일합니다. – Pointy

+0

[공식 명세] (http://www.ecma-international.org/ecma-262/5.1/#sec-7.9)를 읽으십시오. – ComFreek

답변

5

이들은 의미 상 동일하며 구문 상 올바르다. 왜냐하면 Automatic Semicolon Insertion이기 때문이다.

내가 명시 적으로 필요한 세미콜론를 작성하고 결코 ASI에 의존하지 항상 추천 :


이 부분

의견이다. 하지만 그렇게해도 ASI는 당신을 물 수 있습니다. 고전적인 예는 다음과 같습니다
function foo() { 
    return 
     "testing"; 
} 

당신이 foo를 호출하면

이 반환 값은 undefined하지 "testing" 될 것 ASI가의 개막과 return;을 추가하기 때문이다. 아야.

+0

아, 나는 네 머리가 T.J. 좀 더 엄격한 언어가이 상황을 어떻게 다룰지를 확인하기 위해 좀 더 결정적인 대답을 원했습니다. 내 연구 결과는 귀하의 동의어입니다 : http://codepad.org/XcWfViO4 – Jacksonkr