0

hier nicht arbeiten, ich bin versucht Eigenschaft festlegen Wert für schreibgeschützt, aber ich bin keine Fehler bekommen:erfordern (‚use-strict‘) ist für mich

Hier ist mein Code:

require('use-strict'); 

function Employee(firstname) { 
    var _firstname = firstname; 

    Object.defineProperty(this, 'firstName', { 
     get: function() { return _firstname }, 
     //set: function (value) { _firstname = value } 
    }); 
} 

var employee = new Employee('Fawad'); 

employee.firstName = 'Yasir'; //Attempting to set a value for read-only property. 

console.log(employee.firstName); 
+1

Ich glaube nicht, dass Sie das 'use-strict'-Paket benötigen, da Sie' node --use_strict' verwenden können, um den strikten Modus zu erzwingen. – mscdex

Antwort

3

aus der Dokumentation für das use-strict Paket:

The implementation works by patching Node's internal module.wrapper array, and then freezing it, so that further modifications are not possible.

Also, this means that the current module will not be affected. You should still "use strict" in the module that does require('use-strict'). This module applies strictness to all future modules loaded by your program.

+0

Warum würden Sie anstelle des standardmäßigen 'use script'-Modus ein Modul verwenden? LE: Ich habe es, es ist für die automatische Aktivierung des strengen Modus auf allen geladenen Modulen. – Cristy

0

Verwendung von "use strict"; Am Anfang der Seite funktionierte für mich, obwohl dieser Ansatz normalerweise für die JavaScript-Entwicklung verwendet wird. Ich habe versucht, eines der node.js-Pakete zu verwenden, die nicht funktioniert haben.

+0

Ich bin nicht sicher, was Sie damit meinen, aber FYI 'node.js' *** ist *** Javascript. Das Modul, das Sie verwenden, setzt '' strict '; 'zu jedem anderen Modul voraus, das danach benötigt wird. – Paulpro

+0

aber irgendwie, 'use strict' erfüllte meine Bedürfnisse. –

+0

Ja, wie ich in meiner Antwort zitiert habe. ''strict' verwenden;' wird benötigt, damit das aktuelle Skript im strikten Modus ausgeführt wird. 'require ('use-strict');' lässt nur andere Module im strikten Modus laufen, hat aber keinen Einfluss auf den aktuellen Modus. – Paulpro