Skip to content

Instantly share code, notes, and snippets.

@KLagdani
KLagdani / hoisting-var.js
Last active May 6, 2020 11:48
Hoisting for var declaration
//myVar is hoisted during the creation of the context execution
//It exists in memory with undefined as a value
myVar = "I am a var"; //Perfectly ok
console.log(myVar); //Prints "I am a var"
var myVar;
//OR
console.log(myVar); //Perfectly ok, prints "undefined"
var myVar;
@KLagdani
KLagdani / hoisting-let.js
Last active May 20, 2020 09:45
Hoisting for let declaration
//myLet is hoisted during the creation of the context execution
//It exists in memory with undefined as a value
//But we are not allowed to access it before declaring it
myLet = "I am a let"; //Throws: Cannot access 'myLet' before initialization
console.log(myLet);
let myLet;
@KLagdani
KLagdani / hoisting-const.js
Created May 6, 2020 11:50
Hoisting for const declaration
//myConst is hoisted during the creation of the context execution
//It exists in memory with undefined as a value
//But we are not allowed to access it before declaring it
myConst = "I am a const"; //Throws: Cannot access 'myConst' before initialization
console.log(myConst); //line not reached due to error thrown above
const myConst = "Initializer";
@KLagdani
KLagdani / hoisting-function.js
Created May 6, 2020 11:51
Hoisting for function
//sayHi is hoisted during the creation of the context execution
sayHi("Bulma"); //calls the function and prints "Bulma says hi"
function sayHi(who) {
console.log(who + " says hi");
}
@KLagdani
KLagdani / function-expression.js
Created May 6, 2020 11:52
Function expression and hoisting
attack("Son Goku");
var attack = function(who) {
console.log(who + " attacked you!");
};
@KLagdani
KLagdani / function-statement.js
Created May 6, 2020 11:53
Hoisting and function statement
attack("Son Goku");
function attack(who) {
console.log(who + " attacked you!");
}
@KLagdani
KLagdani / object.js
Created May 19, 2020 11:45
A simple object in JavaScript
var saiyan = {
firstName: "Son Goku",
attackName: "Kamehameha",
address: {
street: "439 East District",
city: "Paozu"
}
};
@KLagdani
KLagdani / function-as-object.js
Created May 19, 2020 11:49
In JavaScript functions are objects
function attack() {
console.log("You have been attacked!");
}
attack.newProperty = "holololo";
console.log(attack.newProperty); //holololo
@KLagdani
KLagdani / functions-example.js
Created May 19, 2020 11:54
Functions example
var multiplyByTen = function(num) {
return num * 10;
};
function mapArray(arr, fn) {
var resultingArr = [];
for (var i = 0; i < arr.length; i++) {
resultingArr.push(fn(arr[i]));
}
return resultingArr;
@KLagdani
KLagdani / functions-example2.js
Created May 19, 2020 12:06
Functions example 2
function attack(attacker) {
return function(attackName) {
console.log(attacker + " throws a " + attackName);
};
}
var throwAttack = attack("Son Goku");
throwAttack("Kamehameha");