Reputation: 2065
A colleague and I were discussing the implementation of the JavaScript "if" statement and I wanted to find the implementation so we could read through it and hopefully get a bit wiser.
However, I wasn´t able to find it anywhere, so my question is; Where do you go to read the JavaScript source code?
Upvotes: 0
Views: 70
Reputation: 3635
if
is not a function but is a keyword. There is no JavaScript implementation of it.
The compiler/transpiler understands the if
statement just like it understands other tokens from the var
, const
, and let
to do {} while();
and for
. All of these are keywords with special meaning known to the JavaScript interpreter.
You would want to look the implementation of the interpreter/compiler and runtime implementation to understand how it handles the various control keywords such as if. Alternatively you can look at the specs of the language.
Edit:
It is worth noting that JavaScript is ECMAScript. There are ECMAScript standards and JavaScript implements these. So concepts such as truthiness and falsiness (whether a value is truthy of falsey) is in the ECMAScript standards.
Particularly, you can check section 13.6.7 that speaks to the semantics of the if
statement: https://262.ecma-international.org/11.0/#sec-if-statement-runtime-semantics-evaluation
From there, one can find what it means for something to be truthy/falsey, which is ToBoolean
, as defined in the specs (not a JavaScript function):
Upvotes: 1