javascript - Birisi bu kodun nasıl çalıştığını açıklayabilir mi?


Bu fonksiyonu okuyorum ve bunun nasıl çalışabileceğini hiç anlamıyorum.

() => console.log(i) || Promise.resolve(i++ > 3)

Nazik bir ruh, bir console.log'un nasıl bir koşulda yer alabileceğini açıklayabilir mi?

Bunu TypeScript'te bile derleyebilirim.

Cevap #1

console.log(...) undefined döner, bu da doğru olmayan bir değer; bu nedenle || operatöründen sonraki ifade her zaman çalışır. Bu sadece şu ifadenin kısa yazımıdır:

() => {
  console.log(i);
  return Promise.resolve(i++ > 3);
}

Cevap #2

console.log(...) undefined döner, bu da yanlış değerlendirilen bir değere karşılık gelir.