ഓർമ്മകളിലേക്ക്
Primitive Data types in JS
In JavaScript, a primitive (primitive value, primitive data type) is data that is not an object and has no methods or properties. There are 7 primitive data types:
- string
- number
- bigint
- boolean
- undefined
- symbol
- null
All primitives are immutable; that is, they cannot be altered. It is important not to confuse a primitive itself with a variable assigned a primitive value. The variable may be reassigned to a new value, but the existing value can not be changed in the ways that objects, arrays, and functions can be altered.
References
Shortest Program in JS
- Shortest Program in JS: Empty file. Still, browsers make global Execution context and global space along with Window object.
- Global scope: Anything that is not in a function, is in the global space.
- Variables present in a global space can be accessed by a “window” object. (like window.a)
- In global scope, (this === window) object. For example refer the below,
var a = 10;
Console.log(windows.a) // 10
Console.log(a) // 10
Console.log(this.a) // 10
Class and Function Hoisting in JS
An important difference between function declarations and class declarations is that while functions can be called in code that appears before they are defined, classes must be defined before they can be constructed.
class hoisting
Classes defined using a class declaration are hoisted, which means that JavaScript has a reference to the class. However the class is not initialized by default, so any code that uses it before the line in which it is initialized is executed will throw a ReferenceError.
const p = new Rectangle(); // ReferenceError
class Rectangle {}
This occurs because while the class is hoisted its values are not initialized.
Function and class expression hoisting
Function expressions and class expressions are not hoisted.
References
PL/SQL - Explicit Cursors
Make it Green
