TypeScript operators for safe data handling
JavaScript is a dynamically typed language. At runtime, the JavaScript engine executing our code, like Chrome's V8, doesn't know the type of the variable we're using. As a result, the engine must infer the type. We can have basic types like boolean
, number
, array
, or string
, or we can have a complex type, which is essentially a JSON object. In addition, variables can be null
or undefined
. In broad terms, undefined
represents something that hasn't been initialized and null
represents something that isn't currently available.
In strongly typed languages, the concept of undefined
doesn't exist. Basic types have default values, like a number
is a zero or a string
is an empty string. However, complex types can be null
. A null
reference means that the variable is defined, but there's no value behind it.
The inventor of the null
reference, Tony Hoare, called it his "billion-dollar mistake....