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