Чтобы добавить некоторые объяснения ко всем сказанным передо мной, я должен дать вам несколько примеров для понимания логических понятий.
var name = false || "Mohsen"; # name equals to Mohsen
var family = true || "Alizadeh" # family equals to true
Это означает, что если левая сторона оценивается как истинное утверждение, она будет закончена и левая сторона будет возвращена и назначена переменной. в других случаях правая сторона будет возвращена и назначена.
И оператор имеет противоположную структуру, как показано ниже.
var name = false && "Mohsen" # name equals to false
var family = true && "Alizadeh" # family equals to Alizadeh