Baseline Widely available *
Function
ê°ì²´ë í¨ìì ë©ìë를 ì ê³µí©ëë¤. JavaScriptììë 모ë í¨ìë ì¬ì¤ Function
ê°ì²´ì
ëë¤.
Function()
ìë¡ì´ Function
ê°ì²´ë¥¼ ìì±í©ëë¤. ìì±ì를 ì§ì í¸ì¶íë©´ í¨ì를 ëì ì¼ë¡ ìì±í ì ìì§ë§ ë³´ì ë° eval()
ì ì ì¬í(ê·¸ë¬ë í¨ì¬ ë ì¤ìí) ì±ë¥ ë문ì ê³ íµë°ì ì ììµëë¤. ê·¸ë¬ë eval()
ê³¼ ë¬ë¦¬ Function
ìì±ìë ì ì ë²ìììë§ ì¤íëë í¨ì를 ìì±í©ëë¤.
ìë ìì±ì Function.prototype
ì ì ìëì´ ìê³ ëª¨ë Function
ì¸ì¤í´ì¤ìì ê³µì ë©ëë¤.
Function.prototype.arguments
ì§ìì´ ì¤ë¨ëììµëë¤ ë¹íì¤
ì´ í¨ìì ì ë¬ë ì¸ì를 ëíë
ëë¤. ì격 모ëììë, íì´í, ë¹ë기 ë° ì ëë ì´í° í¨ìì ê²½ì° arguments
ìì±ì ì¡ì¸ì¤íë©´ TypeError
ê° ë°ìí©ëë¤. ëì í¨ì í´ë¡ì ìì arguments
ê°ì²´ë¥¼ ì¬ì©íì기 ë°ëëë¤.
Function.prototype.caller
ì§ìì´ ì¤ë¨ëììµëë¤ ë¹íì¤
ì´ í¨ì를 í¸ì¶í í¨ì를 ëíë
ëë¤. ì격 모ëììë íì´í, ë¹ë기 ë° ì ëë ì´í° í¨ìì ê²½ì° caller
ìì±ì ì¡ì¸ì¤íë©´ TypeError
ê° ë°ìí©ëë¤.
Function.prototype.constructor
ì¸ì¤í´ì¤ ê°ì²´ë¥¼ ìì±í ìì±ì í¨ìì
ëë¤. Function
ì¸ì¤í´ì¤ì ê²½ì° ì´ê¸° ê°ì Function
ìì±ìì
ëë¤.
ìë ìì±ì ê° Function
ì¸ì¤í´ì¤ì ê³ ì ìì±ì
ëë¤.
displayName
ë¹íì¤ Optional
í¨ìì íì ì´ë¦ì ëë¤.
length
í¨ìê° ì구íë ì¸ìì ì«ìê° ëª ìëì´ ììµëë¤.
name
í¨ìì ì´ë¦ì ëë¤.
prototype
í¨ìê° new
ì°ì°ìì í¨ê» ìì±ìë¡ ì¬ì©ë ë ì¬ì©ë©ëë¤. ì ê°ì²´ì íë¡í íì
ì´ ë©ëë¤.
Function.prototype.apply()
주ì´ì§ this
ê°ê³¼ ë°°ì´ (í¹ì ì ì¬ ë°°ì´ ê°ì²´)ë¡ ì ê³µëë ì íì ì¸ì를 ê°ì§ í¨ì를 í¸ì¶í©ëë¤.
Function.prototype.bind()
í¸ì¶ë ë this
í¤ìëê° ì ê³µë ê°ì¼ë¡ ì¤ì ë ì í¨ì를 ìì±íë©°, ì íì ì¼ë¡ ì í¨ìê° í¸ì¶ë ë ì ê³µë ì¸ì ìì 주ì´ì§ ì¼ë ¨ì ì¸ì를 ì¬ì©í©ëë¤.
Function.prototype.call()
주ì´ì§ this
ê°ê³¼ ì íì ì¸ì를 ì¬ì©íì¬ í¨ì를 í¸ì¶í©ëë¤.
Function.prototype.toString()
í¨ìì ìì¤ ì½ë를 ëíë´ë 문ìì´ì ë°íí©ëë¤. Object.prototype.toString
ë©ìë를 ì¬ì ìí©ëë¤.
Function.prototype[@@hasInstance]()
ìì±ì í¨ìê° ê°ì²´ë¥¼ ìì±ìì ì¸ì¤í´ì¤ ì¤ íëë¡ ì¸ìí ì§ ì¬ë¶ë¥¼ ê²°ì íë 기본 ì 차를 ì§ì í©ëë¤. instanceof
ì°ì°ìì ìí´ í¸ì¶ë©ëë¤.
Function
ìì±ì를 ì¬ì©íì¬ ìì±ë í¨ìë ìì± ì»¨í
ì¤í¸ì ëí í´ë¡ì 를 ìì±íì§ ìì¼ë©°, íì ì ì ë²ììì ìì±ë©ëë¤. í¨ì를 ì¤íí ë Function
ìì±ìê° ìì±ë ë²ìì ë³ìê° ìë ìì²´ ë¡ì»¬ ë³ìì ì ì ë³ììë§ ì¡ì¸ì¤í ì ììµëë¤. ì´ë í¨ì ííìì ëí ì½ëì eval()
를 ì¬ì©íë ê²ê³¼ë ë¤ë¦
ëë¤.
// `var`ë¡ ì ì ìì±ì ìì±í©ëë¤
var x = 10;
function createFunction1() {
const x = 20;
return new Function("return x;"); // ì¬ê¸° `x`ë ì ì `x`를 참조í©ëë¤
}
function createFunction2() {
const x = 20;
function f() {
return x; // ì¬ê¸° `x`ë ìì ìë ë¡ì»¬ì `x`를 참조í©ëë¤
}
return f;
}
const f1 = createFunction1();
console.log(f1()); // 10
const f2 = createFunction2();
console.log(f2()); // 20
ì´ ì½ëë ì¹ ë¸ë¼ì°ì ìì ìëíì§ë§ f1()
ì x
를 ì°¾ì ì ì기 ë문ì Node.jsìì ReferenceError
ê° ë°ìí©ëë¤. ì´ë Nodeì ìµìì ë²ìê° ì ì ë²ìê° ìëë©° x
ê° ëª¨ëì ë¡ì»¬ì´ê¸° ë문ì
ëë¤.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4