What it exactly means in Javascript (assigning variable)
我有这个问题,因为我不确定,也找不到关于这个的堆栈溢出的答案。
这究竟意味着什么:
1
| variable = variable || {} |
或者是一些:
1
| this.pointX = options.pointX || 6; |
我知道,它给variable分配一个variable(如果它存在)或empty Object(如果变量不存在),但为什么它工作?
||不是指"还是"这里?
- 这基本上是"空合并",您可以在这里找到更多关于它的信息:stackoverflow.com/questions/476436/…和这里:stackoverflow.com/questions/6439579/…
- 见stackoverflow.com/a/6439629/643483
- @就像我说的。我在找这个答案,但找不到。现在我找到了很多答案。
- @公平地说,如果您不知道"空合并"这个术语,那么很难搜索"javascript"
- @杰瑞:真的。我以为链接会有帮助。
- @杰瑞有权利。我写不好标题,因为我不知道它叫什么。可以安居。
- @是的,这是一个公平的观点。我第一次读这本书时,发现的情况不一样。也许是在编辑之前,或者我只是误读了它。
- @我们可以结束这个问题,因为现在我找到了相关的主题。但当我写问题的时候,我仍然在寻找相关的答案。编辑:我可以投票结束我自己的问题吗?
- 是的,因为你有超过250个代表,你可以投票结束你自己的问题。
在||是有效的工作,像一COALESCESQL语句。 </P >
均值: </P >
如果yevaluates的"truthy"值,assign y到x。。。。。。。 </P >
如果yevaluates的"falsy"值,assign z到x。。。。。。。 </P >
看到http:/ / / 11heavens.com falsy和truthy在JavaScript中更多的细节是"truthy / falsy"(或是谷歌它)。 </P >
在||是一个or算子。 </P >
它基本上是undefined if variable均值,它将assign variable到一个新的面向literal。。。。。。。 </P >
http:/ /我developer.mozilla.org /美国/文档/ /指导/ JavaScript表达式的_和_经营者#逻辑_经营者 </P >
- 当第二个操作数的真值为false时,将variable赋值给第二个操作数,而不仅仅是在未定义的情况下。例如,var s =""; s = s ||"foo";将导致s具有"foo"的值,即使它已经被定义。
||不均或在这里: </P >
1 2 3 4 5 6
| var x = 5
var x = x || {} //If v is defined, v = v, else v = {} (new, empty, object).
//x = 5 since x already was defined
var y = y || {}
//y = {} since y was undefined, the second part is run. |
在||操作时返回的实际,面向determines其"心口不一啊,汝"的价值,不是任何一个布尔(true或false)。它的"短圈"在这一次,它可以确定的结果,它来代表。 </P >
如果有一个variable心口不一啊,汝true值,它是returned(因为当true是ored与什么的,结果是true)。否则,第二operand是returned(如果它甚至有一个心口不一啊,汝的价值false)从它的determines心口不一啊,汝之整体表现。 </P >
在| |算子在JavaScript中的一些不同的其他语言,你会找到它的。当JavaScript evaluates | |看来,它返回一个operand或其他。它不' t do a典型的真理的真实评价表评价如果任何国家operand evaluates到真实的和虚假的,如果不。。。。。。。 </P >
1
| this.pointX = options.pointX || 6; |
assign this.pointX均值的值options.pointX可用if(即非零)的值,否则assign 6 </P >
- pointx很可能是0,这是不真实的。
- @道格姆和我知道它也可以是空字符串,Nan,未定义