⏱ 0:00est. 3 min
Closure
// https://lucybain.com/blog/2014/closures/
function notAClosure(anotherShortLivedVariable) {
return anotherShortLivedVariable;
}
console.log(notAClosure('hi'));
console.log(notAClosure('hi1'));
console.log(notAClosure('hi2'));
function aClosure(longLivedVariable) {
let innerFunction = function innner() {
return longLivedVariable
}
return innerFunction
}
var closure = aClosure("body")
console.log(closure());
console.log(closure());
function cat(name) {
return {
sayName: () => {
return name
}
}
}
const msFloofy = cat("Madam Fluff");
console.log(msFloofy.sayName())
console.log(msFloofy.sayName())
var whiskers = cat('Whiskers');
console.log(whiskers.sayName()) // returns 'Whiskers'