| |{}在javascript中是什么意思?

| |{}在javascript中是什么意思?,javascript,easeljs,createjs,Javascript,Easeljs,Createjs,我正在用画架JS做一个项目。打开画架文件,第一行代码把我弄糊涂了: this.createjs = this.createjs||{}; 我知道createjs是在设置画布时调用的,例如,创建要添加到画布的位图。但是我不理解这行的语法-将this.createjs或(我猜是)一个空白对象分配给this.createjs this.createjs = this.createjs||{}; 如果this.createjs不可用/任何falsy值,则将{}空对象分配给this.createjs

我正在用画架JS做一个项目。打开画架文件,第一行代码把我弄糊涂了:

this.createjs = this.createjs||{};
我知道createjs是在设置画布时调用的,例如,创建要添加到画布的位图。但是我不理解这行的语法-将this.createjs或(我猜是)一个空白对象分配给this.createjs

this.createjs = this.createjs||{};
如果
this.createjs
不可用/任何
falsy
值,则将
{}
空对象分配给
this.createjs

更像是

var a, 
    b;

b = a || 5;

由于
a
当前没有任何值,
5
将被分配给
b

正确。这可以确保如果
This.createjs
不存在,则为其分配一个空对象。
|
是or运算符-如果左侧的
this.createjs
计算结果为,它将指定右侧

|
表示
。 在该上下文中,表示
this.createjs
等于if exists/notnull/defined
this.createjs
其他方式
{}

this.createjs = this.createjs||{};
如果this.createjs是falsy,则this.createjs将是一个新的空对象

你本来可以用

if (!this.createjs){
     this.createjs = {};
}

如果this.createjs对象不存在,则将this.createjs初始化为对象…就是它的意思..它的意思是:如果this.createjs未定义,则使用this.createjs,否则使用空对象。如果this.createjs为falsy(未定义、false等)它将被空对象替换。您可以将其视为设置<代码>的默认值。如果现有值不存在,则默认值为空对象
{}