/* global scope */ var local = true; var global = true; function outer() { /* local scope */ var local = true; var global = false; console.log(local); console.log(global) /* nearest scope = outer */ let isEqual = local = !global; console.log(isEqual); inner(); function inner() { /* nearest scope = outer */ local = false; global = false; console.log(local) console.log(global) /* nearest scope = undefined */ /* defaults to defining a global */ let isEqual = public = global; console.log(isEqual) } } outer()