Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
| |字符在Javascript中代表什么?事实上,我把它和Nodejs和Passport一起使用_Javascript_Node.js - Fatal编程技术网

| |字符在Javascript中代表什么?事实上,我把它和Nodejs和Passport一起使用

| |字符在Javascript中代表什么?事实上,我把它和Nodejs和Passport一起使用,javascript,node.js,Javascript,Node.js,对不起,如果我的问题很傻,但我没有找到任何足够的答案 我创建了一个Facebook登录,只是为了在我的个人页面上进行培训。在互联网上学习时,我发现我需要提供一些Facebook信息,如: clientID: process.env.CLIENT_ID 所以,我想是(例如) 但经过一段时间的努力,我发现正确的方法是 clientID: process.env.CLIENT_ID || '8483843285375325blabla' 那么| |代表什么呢?我们什么时候用?我在其他编程语

对不起,如果我的问题很傻,但我没有找到任何足够的答案

我创建了一个Facebook登录,只是为了在我的个人页面上进行培训。在互联网上学习时,我发现我需要提供一些Facebook信息,如:

clientID: process.env.CLIENT_ID
所以,我想是(例如)

但经过一段时间的努力,我发现正确的方法是

    clientID: process.env.CLIENT_ID || '8483843285375325blabla'

那么| |代表什么呢?我们什么时候用?我在其他编程语言中将它用作OR逻辑运算符。

|
是逻辑OR

返回
expr1
,如果它可以转换为
true
;否则,返回
expr2
。因此,当与布尔值一起使用时,如果任一操作数都可以转换为
true
,则| |返回
true
;如果两者都可以转换为
false
,则返回
false


||是Javascript或逻辑运算符。这一行:

clientID: process.env.CLIENT_ID || '8483843285375325blabla'
可以理解为:
clientId
属性将被分配
process.env.CLIENT_ID
的值(如果逻辑上为true)或“8483843285375325blabla”。因此,如果
process.env.CLIENT_ID
未设置或设置为false,则将使用
'8483843285375325blablabla'

这是正常情况。但是它的用法在您的上下文中是不同的。它将从左到右开始计算,每当它面对真实值时,它将中断并返回检测到的真实值

var x = null || 0 || undefined || "" || "bringHimHome";
console.log(x) //bringHimHome
从左到右考虑上述代码,所有代码都是假值,因此它将逐个计算最后一个字符串,并返回真实的最终字符串值

var x = null || 0 || undefined || "" || "bringHimHome";
console.log(x) //bringHimHome