2016-08-03 3 views
1

나는 세미콜론 배치와 관련하여 w3schools를 연구 중이며 "항상 세미콜론으로 간단한 문장을 끝내라."고했습니다. 그리고 : "복잡한 문장을 세미콜론으로 끝내지 마십시오." 그들은 단순한 진술과 복잡한 진술의 차이를 정의하지 않았으며 철저한 온라인 검색도 대답을 제공하지 못했습니다. 따라서 JavaScript 세미콜론 게재 위치와 혼동 스럽습니다. 어떤 도움을 주시면 감사하겠습니다. 감사!간단한 진술과 복잡한 진술의 차이 - 자바 스크립트

링크 : http://www.w3schools.com/js/js_conventions.asp 그것은 제목 아래 "문 규칙"

+1

당신이 인용하고있는 페이지에 대한 링크를 제공합니다. 일반적으로 문장의 끝 부분에 세미콜론 만 넣으면됩니다. 함수 정의 이후처럼 필요하지 않은 곳이 몇 군데 있지만 함수 뒤에 하나를 추가하더라도 아무 것도 깨뜨리지는 않습니다. 세미콜론이 속한 것인지 아닌지 혼란 스러우면 시도하십시오. 또한 3wschools 대신 javascript를 배우기 위해 MDN 웹 사이트 사용을 고려하십시오. w3s는 익숙하지 않은 설명과 예제를 제공하는 경향이 있습니다. –

+0

SO 설명서에 대한 링크를 대답으로 게시하는 것이 적절한 지 모르겠지만 [자동 세미콜론 삽입] (http://stackoverflow.com/documentation/javascript/4363/automatic-semicolon)에 대한 기사가 있습니다. -insertion-asi # t = 201608031320000905945) – BSMP

+0

Pamblam이 말했듯이 w3 학교는 의문의 여지가 있지만 많은 리소스가 있습니다. –

답변

1

복잡한 문이 {} 내부 ('간단한') 문의 순서입니다.

그래서 당신은 (단순 문을) 써서 :

a = 3; 

{ 
    a = 3; 
    b = 4; 
} 

하지만

(복잡 문이 여러 언어로 복합 명령문이라고, 자바 스크립트에 BLOCK이라고 함)
{ 
    a = 3; 
    b = 4; 
}; 
+1

ES 6의 경우 더 이상 true가 아니라면 화살표 함수를 정의한 후에';'를 생략하면 구문 오류가 발생합니다. –

+1

사실, 표준 용어 인 ** 블록 **이라고 더 잘 부릅니다. "복합 문"은 다른 프로그래밍 언어에서 사용되지만 JS 사양에서 찾을 수 없습니다. –

+0

@ JaredSmith 무슨 뜻인지 확실치 않습니다. 당신은 화살 기능의 간결한 몸 모양을 언급하고 있습니까? 이것은 진술이 아니라 오히려 ** 표현 **입니다. –

0

복잡한 문장은 if, for, while

if(condition){ 

} //no semicolon 

단순 문 :

var x = 2; 
+1

복합 문장 (JS에서 사용되지 않는 잘못된 용어로 혼동 됨)은 반드시 있어야 할 필요는 없습니다. 그것은 그 자체로 모든 곳에 앉아있을 수 있습니다. –