2011-05-03 3 views
3

다음은 크롬 개발자 도구에서 미리보기입니다 :객체 리터럴에서`get`은 무엇을 의미합니까?

WebInspector.DOMStorage.prototype = { 
    get id() 
    { 
     return this._id; 
    }, 

    get domain() 
    { 
     return this._domain; 
    }, 

    get isLocalStorage() 
    { 
     return this._isLocalStorage; 
    }, 

    getEntries: function(callback) 
    { 
     DOMStorageAgent.getDOMStorageEntries(this._id, callback); 
    }, 

    setItem: function(key, value, callback) 
    { 
     DOMStorageAgent.setDOMStorageItem(this._id, key, value, callback); 
    }, 

    removeItem: function(key, callback) 
    { 
     DOMStorageAgent.removeDOMStorageItem(this._id, key, callback); 
    } 
} 

WebInspector.DOMStorage 함수이며 코드에서 위의 프로토 타입이다. 나에게 가장 이상한 것은 다음과 같은 방법이다 : get id() 또는 get something - 객체 프로토 타입이 removeItem, getEntriessetItem 인 것으로 확인되었다. 다른 사람들은 어떨까요?

답변

3

이들은 게터입니다.

var domain = inst.domain; 

하지만 당신은 그것에 할당 할 수 없습니다 (또는 그러나 값이 변경되지 않습니다 수) : 당신이 DOMStorage의 인스턴스가있는 경우 당신은 할 수

inst.domain = 4; #doesnt change inst.domain 

는 대한 this link를 참조하십시오 그것에 대한 자세한 정보. 일부 브라우저에서만 지원됩니다.

+1

접근자는 ECMAScript 5에서 표준화되었으므로 대부분의 최신 브라우저가이를 지원합니다. 즉, [FF2 +, Safari3 +, IE9, Chrome, Opera9.5 +] (http://robertnyman.com/javascript/javascript-getters-setters.html#regular-getters-and-setters) – user123444555621

관련 문제