2017-12-10 6 views
2

생성() {} 생성 대 : 함수() {} 나는 어떤 사람들이하지에 뷰의 문서에서 다음</p> <pre><code>created: function() { // code } </code></pre> <p>또한</p> <pre><code>created() { // code } </code></pre> <p>및 경고를 사용하여 본 적이

created:() => { 
    // code 
} 

나는 첫 번째 쓰기 기능의 일반적인 방법이며, 마지막 하나는 '이'키워드를 결합하는 새로운 ES6 화살표 기능 것을 이해 범위로. 그러나 중간은 무엇입니까? 둘 다 혼합 된 것처럼 보입니다. 그게 무슨 의미입니까?

+1

가운데 하나는 자바 스크립트 클래스 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes – charlietfl

+0

확실되는이 아니라에서 아마 'function created() { // 코드 } '에서처럼 두 번째 것 앞에'function'을 사용합니까? 작성된 것처럼 클래스가 아니라면 잘못된 구문입니다 (h/t @charlietfl, 누가 먼저 이것을 지적했는지). –

+1

@EdCottrell 객체 리터럴 (첫 번째와 세 번째 예제와 같이)에서도 유효합니다. – Bergi

답변

0

첫 번째와 두 번째는 동일합니다. 두 번째 것은 객체에서 함수를 정의하는 데 사용되는 구문입니다 (ES6).

const obj1 = { 
 
    name: 'Obj1', 
 
    create() { 
 
    console.log(this.name); 
 
    } 
 
}; 
 

 
const obj2 = { 
 
    name: 'Obj2', 
 
    create: function() { 
 
    console.log(this.name); 
 
    } 
 
}; 
 

 
obj1.create(); 
 
obj2.create();

+0

은 es5와 호환되지 않습니다. – charlietfl

+0

예 ... 솔직히 말해서 새로운 수업에서 할 수 있다는 것을 알았습니다 ...하지 않았습니다. 그것은 객체 리터럴에서도 잘 작동한다는 것을 알고있다 – charlietfl

+0

@charlietfl ES6은 쓸모없는 구문 설탕을 실제로 소개한다 (나의 겸손한 견해로). – leaf