加号是否在域中的Node.js文档中处理错字?

时间:2015-01-03 04:22:40

标签: node.js

在本文档中......

http://nodejs.org/api/domain.html

......出现这一行:

var PORT = +process.env.PORT || 1337;

加号是拼写错误吗?如果没有,它表明了什么?

1 个答案:

答案 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;

并获得完全相同的效果。这一切都取决于你在一天结束时的编码风格。