Section One BBS

Welcome, Guest.


Subject: Re: JavaScript vs. C/C++ behavior Date: Sun Jul 07 2019 10:03 am
From: Fort Exile To: Mortifis

  Re: Re: JavaScript vs. C/C++ behavior
  By: Mortifis to Digital Man on Tue May 21 2019 12:51 am

 >  > In JavaScript:
 >  >         i = 0 || 2; // i == 2

 > the induction of i, anything greater than 0 but less than 2 is 1) ... in JS
 > if the callback is greater than the initial state (0) then it is forced to 2
 > .. risking looking like a moron ... there wasn't much meat on the bone in

The trouble with boolean operations in JavaScript is the concept of "truthy" anf
 "falsy" values. Javascript will always try and make a boolean comparison work, 
even if it is not comparing two boolean values. Thus, we wind up with "falsy" va
lues that evaluate to FALSE when compared, and "truthy" values that evaluate to 
TRUE.

The "falsy" values are: FALSE, 0, "" '' and `` (the empty string), null, undefin
ed, and NaN.

The "truthy" values are everything else, including empty objects and arrays.

This particular assignment does a boolean OR comparison. The first element that 
is "truthy" is the one that is assigned to the variable. Since 0 is always a "fa
lsy" value, it is skipped, and we wind up with i === 2.

---
 ■ SynchronetVertrauen Home of Synchronet [vert/cvs/bbs].synchro.net

Previous Message       Next Message
In Reply To: Re: JavaScript vs. C/C++ behavior (Mortifis)
Replies: Re: JavaScript vs. C/C++ behavior (Digital Man)