2013-10-01 1 views
0

working draft (섹션 5.2) 나는이 구조 우연히 :웹 구성 요소가 스펙 - '({A : 1})'-하게 웹 구성 요소에서 '대단해 가능한'

<element name="tick-tock-clock"> 
    <script> 
    ({ 
     tick: function() { 
     … 
     } 
    }); 
    </script> 
</element> 

를이 방법을 사용하는 경우, 적어도 5.3을 참조하십시오. tickthis (this.tick)을 통해 참조 할 수 있습니다.

({ tick: ... })은 무엇입니까? 어떻게 작동합니까? 이 스펙의 일부는 무엇입니까?


명확화 : this.tick이 일을 가정하는 이유 제 질문은? 나는 그것을 브라우저에서 작동하도록 재현 할 수 없다.


편집 : 메일 링리스트 W3C의 웹 어플리케이션에 this email에 명시된, 나는에 다스 려 된 사양의 일부가 부분적으로 this의 becaue, 지금은 사용되지 않습니다 - 나는에 대해 질문했다 바인딩> 프로토 타입.

답변

1

이 구문 ({tick : ...})은 무엇이라고합니까?

object initializer.

어떻게 작동합니까?

오브젝트가 초기화 속성 이니셜 (name: value)의 연속으로 구성된다. 각 속성 초기화 프로그램의 값이 계산 된 다음 속성에 할당됩니다. tick 속성의 값은 함수이지만 쉽게 문자열, 숫자, 다른 객체가 될 수 있습니다.

일부 사양은 무엇입니까?

개체 이니셜 라이저는 ECMAScript 사양 (ECMAScript는 모두 JavaScript라고하는 표준 언어의 기술 이름)입니다. current spec is the 5th edition하지만 개체 이니셜 라이저는 처음부터있었습니다.

해당 개체 이니셜 라이저에서 속성을 가져 와서 요소 개체에 추가하는 부분은 바로 그 사양 인 웹 구성 요소 사양입니다. Section 5.2 :

스크립트의 마지막 값 속성이 생성 된 프로토 타입 개체에 복사됩니다. 위의 예에서 <tick-tock-clock> 요소에는 틱 (tick) 메소드가 있습니다.

+1

이제 알겠습니다. 이 문장에서는 다음과 같은 내용을 다룹니다. "스크립트의 마지막 값 속성은 사용자를 위해 만들어진 프로토 타입 객체에 복사됩니다." 나는 그것을 어떻게 든 놓쳤다. 대답의 마지막 두 단락을 모두 지울 수 있습니다 :) – kamituel

+0

나는 [email protected]에서 물 었는데, 새로운 요소 프로토 타입에 'this'를 바인딩하는 것이 이제는 쓸모가 없습니다. 내 질문에 마지막 편집을 참조하십시오. – kamituel

1

웹 구성 요소 사용자 지정 요소 사양은 다양한 성능 및 플랫폼 실행 가능성을 이유로 사용자 지정 요소를 정의하는 선언적 <element> 메서드를 무기한 보류했습니다.https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/custom/index.html

( : 대신 당신이 여기에 최신의 사양에 설명 된대로, 사용자 정의 요소를 선언하기 위해 필수적 document.register() DOM API를 사용해야합니다 나는이 가족을위한 워킹 그룹에 참여를입니다 사양 중 - 구현은 2013 년 말경에 Chrome 및 Firefox에 착수 예정)

+0

+1 감사합니다. – kamituel

관련 문제