2014-02-22 2 views
0

다음 생성자 함수를 고려하면 CoffeeScript는 끝에있는 두 함수 만 반환되도록 컴파일합니다.팩토리 함수에서 모든 속성을 반환하는 방법

이 팩토리를 사용하여 생성 된 객체의 속성에 직접 액세스 할 수 있도록 모든 속성을 반환하려면 어떻게해야합니까?

createPerson = (firstName, lastName, age) -> 
    firstName = firstName 
    lastName = lastName 
    age = age 

    sayHi: -> 
    console.log "Hi there" 

    sayAge: -> 
    console.log "My age is #{age}" 

이 커피 스크립트의 클래스 시스템을 사용하여 달성하기 정말 간단하지만,이 경우에 나는 간단한 방법을 시도하고 놀랍게도을 할 수있는 방법을 찾기 위해 실패하고있다.

감사합니다. new Person과 새로운 사람들을 생성 한 후

class Person 
    constructor: (@firstName, @lastName, @age) -> 
    sayHi: -> 
    console.log "Hi there" 
    sayAge: -> 
    console.log "My age is #{@age}" 

과 :

p = new Person('Pancakes', 'McGee', 42) 

주 인스턴스 변수에 대한 @

+0

체크 아웃 : http://coffeescriptcookbook.com/chapters/design_patterns/factory_method –

답변

1

일반적으로 당신은 오히려 스스로를 수행하는 것보다 커피 스크립트에 class을 사용하십시오 생성자 함수 정의와 내부에서 모두 sayAge.

+0

CoffeeScript에서 제공하는 클래스 기능을 알고 있지만 자바 스크립트에서 사용할 수있는 기본 방법을 모색 중입니다. 두 가지를 모두 이해할 수 있습니다. 나는 이것이 의미가 있기를 바랍니다. –

+0

아마도 당신은 당신이 무엇을 반환하려고하는지 명확히 할 수 있습니다. 확률은 자바 스크립트와 똑같은 방식으로 할 것입니다. –

관련 문제