在本文档中......
http://nodejs.org/api/domain.html
......出现这一行:
var PORT = +process.env.PORT || 1337;
加号是拼写错误吗?如果没有,它表明了什么?
答案 0 :(得分:7)
加号是一元运算符,它会将process.env.PORT
强制转换为字符串中的数字。
背景:
// since all env variables are strings
process.env.PORT = 'somePortSavedAsSTring';
process.env.PORT
必须是一个字符串,如果什么也没做,节点将抛出一个错误。使用+
符号可以通过将字符串(将其从字符串更改为数字)添加到任何内容来防止这种情况发生。
port = ( nothing ) + 'somePortSavedAsSTring'; // makes it a number!
// whitespace is removed by convention, so other programmers know the intent
port = +'somePortSavedAsSTring';
使用加号这种方式只是确保变量类型的雄辩方式。你可以使用:
var PORT = Number(process.env.PORT) || 1337;
并获得完全相同的效果。这一切都取决于你在一天结束时的编码风格。