0

здесь, я пытаюсь установить значение только для чтения собственности, но я не получаю сообщение об ошибке:требуют («потребительная строги») не работает для меня

Вот мой код:

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

Я не думаю, что вам нужен пакет 'use-strict', поскольку вы должны просто использовать' node --use_strict' для принудительного режима. – mscdex

ответ

3

из документации для use-strict пакета:

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

Зачем вам использовать модуль вместо режима 'use script' по умолчанию? LE: Я понял, это для автоматического включения строгого режима для всех загруженных модулей. – Cristy

0

Использование "использовать строгий"; в верхней части страницы работал для меня, хотя этот подход обычно используется для разработки JavaScript. Я пытался использовать один из пакетов node.js, который не работал.

+0

Я не уверен, что вы подразумеваете под этим, но FYI 'node.js' *** is *** Javascript. Модуль, который вы используете, просто добавляет '' use strict '; 'к каждому другому модулю, который требуется после этого. – Paulpro

+0

, но так или иначе, «использовать строгий» удовлетворил мои потребности. –

+0

Да, как я процитировал в своем ответе. '' use strict '; 'необходимо, чтобы текущий скрипт выполнялся в строгом режиме. 'require ('use-strict');' только делает другие модули работать в строгом режиме, но не влияет на текущий. – Paulpro

Смежные вопросы