2014-04-09 3 views
0

나는이 코드 조각이 내가 꽤 이해하지 못하는 것을 발견했다. 여분의 ()Javascript에서 생성자 인스턴스를 감싸는 대괄호가 무엇을 의미합니까?

내가 코드 형식이 블로그 http://pivotallabs.com/javascript-constructors-prototypes-and-the-new-keyword/

+2

당신이 그것을 제거 할 때 발생하는 시도 :

은 어떻게되는지 구문과 장난 시도, 여기에 무슨 일이 일어나고 있는지 직접 보여주기 위해'새로운 차량을 ("황갈색") 색상을;' (그것은 트릭 질문입니다). –

+0

동일한 결과가 나옵니다. :-( – toy

+0

그래, 괄호는 코드 실행/연산자 우선 순위에 영향을 미치지 않는다는 것을 알 수 있습니다. 이는 단지 가독성을 높이기 위해 사용 된 것일뿐입니다. –

답변

1

그것은 아무것도하지 않는 발견 왜

var Vehicle = function Vehicle(color) { 
    this.constructor;  // function Vehicle() 
    this.color = color; 
} 

(new Vehicle("tan")).color; // "tan" 

(new Vehicle("tan")).color

있습니다. new 연산자는 함수 호출 (() 부분)보다 우선하므로 new Vehicle("tan").color을 입력하는 것과 같습니다. 그러나 코드를보다 읽기 쉽게 만들어 주므로 사용하는 것이 좋습니다. .

new Date().getTime() //1397073088727 
(new Date()).getTime() //1397073088727 
new (Date()).getTime() //error 
new (Date)().getTime() //1397073088727 
Date().getTime()  //error 
new (Date().getTime()) //error 
관련 문제