2016-08-05 2 views
0

Node.JS 예제 코드에서 다음과 같이 코드 블록을 발견했습니다."variable : function() {}"은 무엇을 의미합니까?

var messageReceivedCallBack = { 
    onMessageReceived: function (message) { 
     console.log('Message received ' + message); 
    } 
}; 

이 코드는 무엇을 의미합니까? 특히 콜론 (':')이있는 부분을 이해할 수 없습니다.

+3

자바 스크립트 객체에서 속성 이름과 값은':'로 구분됩니다. –

+0

in messageReceivedCallBack 객체 'onMessageReceived'는 메소드/함수 이름입니다. 전체적으로 다른 것, 그냥 권장 사항 인 –

+1

은'console.log ('Message received :', message); 대신. 그것은 모든 종류의 객체/객체를 가질 때 작동합니다. +는 문자열과 int에서 잘 작동합니다. –

답변

5

이것은 개체 리터럴입니다. 마찬가지로

var foo = {}; 
foo.a = 1; 
foo.b = 2; 

:

var foo = { 
    a: 1, 
    b: 2 
}; 

가 같은가요 : 그 변수 아니다, 그것은 속성 이름의

var foo = {}; 
foo.a = function() {}; 

:

var foo = { 
    a: function() {} 
}; 

은과 동일 그러므로 다음과 같습니다 :

var messageReceivedCallBack = { 
    onMessageReceived: function (message) { 
     console.log('Message received ' + message); 
    } 
}; 

는이 일을 수 있습니다 : 객체/클래스를 만들 수

자바 스크립트에서
var messageReceivedCallBack = {}; 

messageReceivedCallBack.onMessageReceived = function (message) { 
    console.log('Message received ' + message); 
}; 
+0

예제 대신 코드를 사용하면 매우 유용합니다. 이 예제를 이해하는 데 더 많은 시간이 걸립니다. –

+2

핵심 개념을 가능한 "쉽게"볼 수 있도록하기 위해 예제는 가능한 한 최소화되도록 선택되었습니다. 다른 예제로 코드를 추가하겠습니다 만, 최소한의 예제가 무엇인지 이해하는 것이 쉽지 않을 것이라고 생각합니다. – slebetman

+0

이제는 쉽게 해결할 수 있습니다. –

0

, 더 많은 방법을.

  1. 건설 함수 기반 클래스 (function ObjConstructor() {this.name="abc";})
  2. 개체 리터럴 (var myObj = { "key" : "value" } (값이 함수 또는 숫자 스트링 일 수있다 ..)
여기

: 키 값 쌍을 분리하다 . JSON을 살펴보면 쉽게 이해할 수 있습니다. JSON

관련 문제