是加号login+在Node.js文档中处理域错误?
在这个文档中…
http://nodejs.org/api/domain.html
…这一行发生:
var PORT = +process.env.PORT || 1337;
加号是否是错字? 如果不是,它表明什么?
加号是一元运算符,它将process.env.PORT
强制转换为string中的数字。
背景:
// since all env variables are strings process.env.PORT = 'somePortSavedAsSTring';
process.env.PORT
必须是一个string,如果没有做任何事情节点会抛出一个错误。 使用+
符号防止这种情况发生,基本上将string(将其从string更改为数字)添加到无。
port = ( nothing ) + 'somePortSavedAsSTring'; // makes it a number! // whitespace is removed by convention, so other programmers know the intent port = +'somePortSavedAsSTring';
使用加号就是确保variablestypes的有效方法。 你可以使用:
var PORT = Number(process.env.PORT) || 1337;
并获得完全相同的效果。 这一切只取决于你在一天结束时的编码风格。