Имеет ли смысл использовать Object.defineProperty для определения констант в модулях io.js?

Например, файл dns.js:

exports.EOF = 'EOF';
exports.FILE = 'EFILE';
exports.NOMEM = 'ENOMEM';

Они могут быть перезаписаны, например,

var dns = require('dns');
dns.EOF = 3;

как насчет:

Object.defineProperty(module.exports, 'EOF',
  { value: 'EOF', enumerable: true});

Object.defineProperty(module.exports, 'EFILE',
  { value: 'EFILE', enumerable: true});

и так далее. В таком случае тогда:

 'use strict';
 var dns = require('./dns');
 dns.EOF = 3;

TypeError: Cannot assign to read only property 'EOF' of #<Object>

0 ответов

Другие вопросы по тегам