node定义常量字符串
很多时候, 我们会希望定义一个常量, 这个常量的名字与他的字符值是一样的。 在node里并没有直接的解决方案。 下面提供一个小的函数库来帮助你解决这个问题。 函数库叫consto.
npm install consto
安装即可。
代码如下:
var consto = require('consto');
//Upper Style, default style
var co = consto(['rain', 'sea', 'key']);
// > co
// { RAIN: 'RAIN', SEA: 'SEA', KEY: 'KEY' }
//Free Style, by specifiy a true
var fs = consto(['Rain', 'sea', 'KEY'], true);
// > fs
// { Rain: 'Rain', sea: 'sea', KEY: 'KEY' }
8 回复
我看了下代码,
- co是一个普通的object实例,比如co.Rain 可以被修改,达不到常量的效果。反而 const Rain = ‘Rain’ 是不能修改,才是真正的常量
- 如果是敲错名字的话,co.Rian 这样是不会有错误提示的,反而如何是 const 会有提示。 像这种问题,通过编辑器解决更好,sublime/textmate 之类做个插件应该不难
@klesh 如果通过const定义Rain是常量,如何共享这个常量到别的文件?
const a = {}; a.key = ‘aaa’; 目前并不是不可修改的。
这里的常量理解成是一种常量标识会更好。
主要模块的目标是当你需要定义一个字符串,并且需要有一个跟这个字符串同名的KEY时使用的。
同时作为对象,更加方便一些。