JavaScript Inconvénient de créer une véritable méthode privée


Exemple

Un inconvénient de la création de méthodes privées en Javascript est la mémoire inefficace car une copie de la méthode privée sera créée chaque fois qu'une nouvelle instance est créée. Voir cet exemple simple.

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);
    };
}

Lorsque vous créez peu d'instances, ils ont tous une copie de la méthode formatPhoneNumber

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

Ainsi, il serait bon d’éviter d’utiliser la méthode privée uniquement si cela est nécessaire.