サーチ…


真のプライベートメソッドの作成の欠点

Javascriptでプライベートメソッドを作成することの1つの欠点は、新しいインスタンスが作成されるたびにプライベートメソッドのコピーが作成されるため、メモリ非効率です。この簡単な例を参照してください。

function contact(first, last) {
    this.firstName = first;
    this.lastName = last;
    this.mobile;

    // private method
    var formatPhoneNumber = function(number) {
        // format phone number based on input
    };

    // public method
    this.setMobileNumber = function(number) {
        this.mobile = formatPhoneNumber(number);
    };
}

少数のインスタンスを作成すると、それらはすべてformatPhoneNumberメソッドのコピーをformatPhoneNumberます

var rob = new contact('Rob', 'Sanderson');
var don = new contact('Donald', 'Trump');
var andy = new contact('Andy', 'Whitehall');

したがって、必要な場合にのみプライベートメソッドを使用しないようにするのはすばらしいことです。



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow