node里"asdf".split('')的结果里为什么字符是单引号包裹的?
如题:
> "asdf".split('')
[ 'a', 's', 'd', 'f' ]
我试了chrome下
> 'asdf'.split('')
["a", "s", "d", "f"]
node是出于什么考虑呢?
12 回复
这两个有什么区别?
不是…一样的么?
我打算直接把结果写到.json的文件里,而json格式要求字符串都是双引号的。。
然后发现直接JSON.stringify("asdf".split(''))
就可以了。。
v8版本是不同的,另外讨论这个没什么意义
@jiyinyiyong 恩,需要得到json字符串还是直接JSON.stringify
来的方便
Node的REPL中对对象格式化的实现与Chrome的控制台实现得有点不一样而已。 这个与V8无关。
另外,这个只是用来给你自己看的,程序实际运行的时候又不是这样的,有神马好纠结的呢?
参考:https://github.com/joyent/node/blob/master/lib/util.js#L204
js种单引号,双引号完全一样,所以这个问题没什么价值
字符和字符串的区别
您是C程序员吧? js没有字符类型,只要字符串
说白了,nodejs 通过控制台打印的东西,字符串统一表示为单引号方式而已。