📚 node [[20210521211631 free_function]]
A free function is a programming languageconstruct where a functionis not bound to a particular object, such as a method
In the following example, f
is a free function while obj.m
is a method
(obj.m
can reference this
1):
function f() { return "f"; } const obj = { m: function () { return "m"; }, };
Footnotes
1This example is somewhat misleading because in JavaScripta free function can become a method. Consider the following example:
function f() { return this.name; } const obj = { name: 'obj', }; console.log('free func:\t', f()); obj.f = f; console.log('method:\t', obj.f());
free func: undefined method: obj undefined
Further, in JavaScript this
can be set in free functions:
function f() { return `my name is ${this.name}`; } console.log(f.call({name: 'foo'}));
: my name is foo : undefined
📖 stoas
- public document at doc.anagora.org/20210521211631-free_function
- video call at meet.jit.si/20210521211631-free_function
⥱ context
← back
(none)
(none)
↑ pushing here
(none)
(none)
↓ pulling this
(none)
(none)
→ forward
(none)
(none)
🔎 full text search for '20210521211631 free_function'