它在Javascript中的确切含义(赋值变量)

What it exactly means in Javascript (assigning variable)

本问题已经有最佳答案,请猛点这里访问。

我有这个问题,因为我不确定,也找不到关于这个的堆栈溢出的答案。

这究竟意味着什么:

1
variable = variable || {}

或者是一些:

1
this.pointX = options.pointX || 6;

我知道,它给variable分配一个variable(如果它存在)或empty Object(如果变量不存在),但为什么它工作?

||不是指"还是"这里?


||是有效的工作,像一COALESCESQL语句。 </P >

1
var x = y || z;

均值: </P >

如果yevaluates的"truthy"值,assign yx。。。。。。。 </P >

如果yevaluates的"falsy"值,assign zx。。。。。。。 </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 >


||不均或在这里: </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其"心口不一啊,汝"的价值,不是任何一个布尔(truefalse)。它的"短圈"在这一次,它可以确定的结果,它来代表。 </P >

如果有一个variable心口不一啊,汝true值,它是returned(因为当trueored与什么的,结果是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 >