JavaScriptë ì í리ì¼ì´ì ì ë¤ìí ìí¸ìì©ì ì¶ê°í기 ìí ì¼ë ¨ì ëª ë ¹ë¬¸, í¹í ì ì´ íë¦ ëª ë ¹ë¬¸ì ì§ìí©ëë¤. ì´ë² ì¥ììë ì´ ëª ë ¹ë¬¸ë¤ì ê°ëµíê² ì´í´ë³´ê² ìµëë¤.
ì¬ê¸°ì ë¤ë£¬ ëª
ë ¹ë¬¸ë¤ì ìì¸í ì¤ëª
ì JavaScript ì°¸ê³ ììì ì½ì ì ììµëë¤. ì¸ë¯¸ì½ë¡ (;
)ì ë ëª
ë ¹ë¬¸ì ë¶ë¦¬í기 ìí´ ì¬ì©íìµëë¤.
모ë JavaScript ííìì ëª ë ¹ë¬¸ì´ê¸°ë í©ëë¤. ííìì ëí ìì¸í ì ë³´ë ííìê³¼ ì°ì°ììì íì¸íì¸ì.
ë¸ë¡ë¬¸ê°ì¥ 기본ì ì¸ ëª ë ¹ë¬¸ì, ëª ë ¹ë¬¸ë¤ì 그룹ì¼ë¡ 묶ì ì ìë ë¸ë¡ë¬¸ì ëë¤. ë¸ë¡ë¬¸ì ë¸ë¡ì í ìì ì¤ê´í¸ë¡ ê°ì¸ë ê²ì¼ë¡ ëíë ëë¤.
{
statement_1;
statement_2;
â®
statement_n;
}
ìì
ë¸ë¡ë¬¸ì ì ì´ íë¦ ëª
ë ¹ë¬¸ê³¼ ë§ì´ ì¬ì©í©ëë¤. (if
, for
, while
)
ì¬ê¸°ì { x++; }
ê° ë¸ë¡ë¬¸ì
ëë¤.
ì°¸ê³ : ECMA2015 (ì 6í) ì´ì ì JavaScriptìë ë¸ë¡ ì¤ì½íê° ìììµëë¤! 구í JavaScript ì½ëììë ë¸ë¡ ë´ì ì ìí ë³ìì ì¤ì½í를 ê·¸ ë¸ë¡ì´ ìëë¼, ë³ì ì ì¸ì í¬í¨í í¨ì ëë ì¤í¬ë¦½í¸ë¡ ì¤ì í©ëë¤. ë문ì ë³ì í ë¹ì ìí¥ì ë¸ë¡ì ëì´ìë íì¸í ì ììµëë¤. ì¦, ë¸ë¡ë¬¸ì´ ì¤ì½í를 ì ìíì§ ììµëë¤.
JavaScriptì "ë 립 ë¸ë¡"ì Cë Javaìì 기ëí ì ìë ê²ê³¼ë ìì í ë¤ë¥¸ 결과를 ë³ìµëë¤. ì를 ë¤ì´,
var x = 1;
{
var x = 2;
}
console.log(x); // 2 ì¶ë ¥
ì ì½ëê° 2
를 ì¶ë ¥íë ì´ì ë, ë¸ë¡ ë´ì var x
ê° ë¸ë¡ ë°ì var x
ì ê°ì ì¤ì½í를 ê°ê¸° ë문ì
ëë¤. Cì Javaìë¤ë©´, ìì ê°ì ì½ëìì 1
ì ì¶ë ¥íì ê²ì
ëë¤.
ECMAScript 2015ì ëì
ë let
ê³¼ const
ë³ì ì ì¸ì ë¸ë¡ ì¤ì½í를 ê°ì§ëë¤. ì°¸ê³ ìì let
ê³¼ const
문ììì ë ë§ì ì 보를 íì¸íì¸ì.
조건문ì ì§ì í ì¡°ê±´ì´ ì°¸ì¸ ê²½ì°ì ì¤ííë ëª
ë ¹ ì§í©ì
ëë¤. JavaScriptë if...else
ì switch
ë ì¢
ë¥ì 조건문ì ì§ìí©ëë¤.
if...else
문
ëª
ë ¹ë¬¸ì ë
¼ë¦¬ ì¡°ê±´ì´ ì°¸ì¼ ë ì¤ííë ¤ë©´ if
문ì ì¬ì©íì¸ì. ì íì ì¼ë¡, else
ì ì ì¶ê°í´ì ì¡°ê±´ì´ ê±°ì§ì¸ ê²½ì°ì ì¤íí ëª
ë ¹ë¬¸ì ì§ì í ì ììµëë¤.
if
문ì ííë ë¤ìê³¼ ê°ìµëë¤.
if (condition) {
statement_1;
} else {
statement_2;
}
ì ì½ëìì, condition
ìë true
ë false
ë¡ íê°í ì ìë ì무 ííìì´ë ëì
í ì ììµëë¤. (Boolean
문ììì true
ì false
íê°ì ëí´ ë ììë³´ì¸ì.)
condition
ì´ true
ë¡ íê°ëë©´ statement_1
ì ì¤íí©ëë¤. ê·¸ë ì§ ìì¼ë©´ statement_2
를 ì¤íí©ëë¤. statement_1
ê³¼ statement_2
ìë ë¤ë¥¸ if
문ì í¬í¨í´ ì무 ëª
ë ¹ë¬¸ì´ë ì¬ì©í ì ììµëë¤.
else if
를 ì¬ì©í´ì ë¤ìì ì¡°ê±´ì ìì°¨ì ì¼ë¡ ê²ì¬í ìë ììµëë¤.
if (condition_1) {
statement_1;
} else if (condition_2) {
statement_2;
} else if (condition_n) {
statement_n;
} else {
statement_last;
}
ì´ ê²½ì°, ì²ìì¼ë¡ true
ë¡ íê°ëë ì¡°ê±´ì ëª
ë ¹ë¬¸ë¤ë§ ì¤íë©ëë¤.
ì¼ë°ì ì¼ë¡ë if
ì íì, í¹í if
문ì ì¤ì²©í ëë ë¸ë¡ë¬¸ì í¨ê» ì¬ì©íë ê²ì´ ì¢ìµëë¤.
if (condition) {
statement_1_runs_if_condition_is_true;
statement_2_runs_if_condition_is_true;
} else {
statement_3_runs_if_condition_is_false;
statement_4_runs_if_condition_is_false;
}
ëí if...else
ì ì¡°ê±´ì "x = y
"ì ê°ì í ë¹ì ì§ìíì¸ì.
if ((x = y)) {
/* ëª
ë ¹ë¬¸ */
}
ê·¸ë¬ë ê°ëì ì¡°ê±´ìì í ë¹íë ê²ì´ ë í¸í ê²½ì°ë ììµëë¤. ì´ë° ìí©ì ì°¸ê³ í ì ìëë¡, while
문ìì "í ë¹ì ì¡°ê±´ì¼ë¡ ì¬ì©í기"ìì ì¼ë°ì ì¸ ëª¨ë² êµ¬ë¬¸ì ìë´ë¥¼ ì ê³µíê³ ììµëë¤.
ë¤ì ê°ì false
ë¡ íê°ë©ëë¤. (ê±°ì§ ê°ì´ë¼ê³ ë¶ë¦
ëë¤)
false
undefined
null
0
NaN
""
)ê°ì²´ë¥¼ í¬í¨í´ ë¤ë¥¸ 모ë ê°ì 조건문ì ì ë¬íì ë true
ë¡ íê°ë©ëë¤.
ìì ì°¸ê³ :
true
ìfalse
ìì ê°ìBoolean
ê°ì²´ì 참과 ê±°ì§ ê°ê³¼ í¼ëíì§ ë§ì¸ì!ì를 ë¤ì´,
const b = new Boolean(false); if (b) // ì°¸ì¼ë¡ íê° if (b == true) // ê±°ì§ì¼ë¡ íê°
ë¤ì ìì ìì, í¨ì checkData
ë Text
ê°ì²´ì í¬í¨ë 문ìì ìê° 3ì´ë©´ true
를 ë°íí©ëë¤. ê·¸ë ì§ ìì¼ë©´ ê²½ê³ ë¥¼ íìí í false
를 ë°íí©ëë¤.
function checkData() {
if (document.form1.threeChar.value.length == 3) {
return true;
} else {
alert(
"ì íí ì¸ ê¸ì를 ì
ë ¥íì¸ì. " +
`${document.form1.threeChar.value}ì(ë) ì í¨íì§ ììµëë¤.`,
);
return false;
}
}
switch
문
switch
문ì íë¡ê·¸ë¨ì´ ííìì íê°í í, ê·¸ ê°ê³¼ case
ë ì´ë¸ì ê°ì ë¹êµí´ ì¼ì¹íë case
ì ëª
ë ¹ë¬¸ì ì¤íí©ëë¤.
switch
문ì 모ìµì ë¤ìê³¼ ê°ìµëë¤.
switch (expression) {
case label_1:
statements_1;
break;
case label_2:
statements_2;
break;
â¦
default:
statements_default;
}
JavaScriptë ìì switch
문ì ë¤ìì ê³¼ì ì¼ë¡ íê°í©ëë¤.
expression
)ì ê²°ê³¼ì ì¼ì¹íë ë ì´ë¸ì ê°ì§ case
ì ì ì°¾ì, ê´ë ¨ë ëª
ë ¹ë¬¸ì ì¤íí©ëë¤.default
ì ì íìí©ëë¤.
default
ì ì ì°¾ìì¼ë©´ ê´ë ¨ë ëª
ë ¹ë¬¸ì ì¤íí©ëë¤.default
ì ì ì°¾ì§ ëª»íì¼ë©´ switch
문 ë°ê¹¥ì ë¤ì ëª
ë ¹ë¬¸ì ì¤íí©ëë¤.default
를 ë§ì§ë§ì ë°°ì¹íë ê²ì ê´ìµì ì¸ ê²ì¼ë¡, ì¬ì¤ ìì¹ë ìê´ ììµëë¤.)ê°ê°ì case
ìë ì íì ì¼ë¡ break
문ì ì¶ê°í ì ììµëë¤. break
ë case
ì ëª
ë ¹ë¬¸ì ì¤íí íì íë¡ê·¸ë¨ì´ switch
ì ë°ì¼ë¡ ëê°ëë¡ í©ëë¤. break
를 ìëµíë©´ íë¡ê·¸ë¨ì switch
문ì íì¶íì§ ìê³ , ë¤ì case
ì ëª
ë ¹ë¬¸ì ì¤íí©ëë¤.
ì´ ìì ììë fruitType
ì´ 'ë°ëë'
ë¼ë©´ 'ë°ëë'
ë ì´ë¸ì ê°ì§ case
ì ëª
ë ¹ë¬¸ì ì¤íí©ëë¤. break
를 ë§ì£¼ì¹ë©´ íë¡ê·¸ë¨ì´ switch
ë°ì¼ë¡ ëê°ì ë°ë¡ ë¤ì ëª
ë ¹ë¬¸ì ì¤íí©ëë¤. 'ë°ëë'
ì break
ê° ììë¤ë©´ case '체리'
ìëì ëª
ë ¹ë¬¸ë ì¤ííì ê²ì
ëë¤.
switch (fruittype) {
case "ì¤ë ì§":
console.log("ì¤ë ì§ë íì´ë ë¹ $0.59ì
ëë¤.");
break;
case "ì¬ê³¼":
console.log("ì¬ê³¼ë íì´ë ë¹ $0.32ì
ëë¤.");
break;
case "ë°ëë":
console.log("ë°ëëë íì´ë ë¹ $0.48ì
ëë¤.");
break;
case "체리":
console.log("체리ë íì´ë ë¹ $3.00ì
ëë¤.");
break;
case "ë§ê³ ":
console.log("ë§ê³ ë íì´ë ë¹ $0.56ì
ëë¤.");
break;
case "ííì¼":
console.log("ë§ê³ ì ííì¼ë íì´ë ë¹ $2.79ì
ëë¤.");
break;
default:
console.log(`ì£ì¡í©ëë¤. ${fruitType}ì íì ì
ëë¤.`);
}
console.log("ë íìíê² ìì¼ì ê°ì?");
ìì¸ ì²ë¦¬ ëª
ë ¹ë¬¸
throw
문ì ì¬ì©íë©´ ìì¸ë¥¼ ëì§ ì ìê³ , ëì§ ìì¸ë try...catch
문ì¼ë¡ ì²ë¦¬í ì ììµëë¤.
JavaScriptììë 모ë ê²ì throw
ë¡ ëì§ ì ììµëë¤. ê·¸ëì ì«ìë 문ìì´ì ì¤ë¥ë¡ ëì§ë ê²½ì°ë ë§ì§ë§, ìì¸ë¥¼ ëíë´ê¸° ìí´ ì¬ì ì ì ìë ìì¸ ì íì ì°ë ê²ì´ ë³´íµ ë í¨ê³¼ì ì
ëë¤.
throw
문
ìì¸ë¥¼ ëì§ ë throw
문ì ì¬ì©íì¸ì. throw
ì ëì§ ê°ì ì§ì íë©´ ë©ëë¤.
í¹ì íì ì ííìì´ ìëë¼ ë¬´ìì´ë ëì§ ì ììµëë¤. ìë ì½ëìì ë¤ìí íì ì ìì¸ë¡ ëì§ë 모ìµì ë³¼ ì ììµëë¤.
throw "Error2"; // String
throw 42; // Number
throw true; // Boolean
throw {
toString: function () {
return "ì ë ê°ì²´ìì";
},
};
try...catch
문
try...catch
문ì ì¤íì ìëí ë¸ë¡ì íìíê³ , ê·¸ ììì ìì¸ê° ë°ìí ê²½ì° ì²ë¦¬ë¥¼ ë§¡ì íë ì´ìì ë°ì ëª
ë ¹ë¬¸ì ì§ì í©ëë¤. ìì¸ê° ë°ìíë©´, try...catch
ë¬¸ì´ ì¡ìë
ëë¤.
try...catch
문ì íë ì´ìì ëª
ë ¹ë¬¸ì í¬í¨íë try
ë¸ë¡, ê·¸ë¦¬ê³ try
ìì ìì¸ê° ë°ìí ê²½ì° ê·¸ ìì¸ë¥¼ ì²ë¦¬í ëª
ë ¹ë¬¸ì ë´ì íëì catch
ë¸ë¡ì¼ë¡ 구ì±í©ëë¤.
ë¤ë¥´ê² ì¤ëª
í´ë³´ë©´, try...catch
ë ì±ê³µí길 ë°ë¼ë ì½ë(try
ë¸ë¡)ê° ë§ì½ ì¤í¨íë©´ catch
ë¡ ì ì´ê¶ì ëê²¨ì¼ í ë ì¬ì©í©ëë¤. try
ë¸ë¡ì ëª
ë ¹ë¬¸ ì¤ íëìì ìì¸ë¥¼ ëì§ë©´, ì¤í ì ì´ê¶ì ê·¸ ì¦ì catch
ë¸ë¡ì¼ë¡ ëì´ê°ëë¤. try
ë¸ë¡ ë´ìì ìì¸ê° ë°ìíì§ ììì¼ë©´ catch
ë¸ë¡ì ì¤íëì§ ììµëë¤.
ë¤ìì try...catch
ì ì¬ì© 모ìµì ë³´ì´ë ìì ì
ëë¤. getMonthName()
ì 매ê°ë³ìì ê°ì ì¬ì©í´ months
ë°°ì´ìì ìì´ ì ì´ë¦ì ê°ì ¸ìµëë¤. ê·¸ë°ë° ì í¨í ì(1
-12
) ë²ìì ì«ì ê°ì ë°ì ê²ì´ ìëë¼ë©´ 'InvalidMonthNo'
를 ê°ì¼ë¡ í ìì¸ë¥¼ ëì§ëë¤. ê·¸ë¬ë©´ catch
ë¸ë¡ì ëª
ë ¹ë¬¸ì´ monthName
ë³ì를 'unknown'
ì¼ë¡ ì¤ì í©ëë¤.
function getMonthName(mo) {
mo = mo - 1; // ë°°ì´ ì¸ë±ì¤ì ë§ì¶° ì ì¡°ì (1 = Jan, 12 = Dec)
let months = [
"Jan",
"Feb",
"Mar",
"Apr",
"May",
"Jun",
"Jul",
"Aug",
"Sep",
"Oct",
"Nov",
"Dec",
];
if (months[mo]) {
return months[mo];
} else {
throw "InvalidMonthNo"; // ì¬ê¸°ì throw í¤ìë ì¬ì©
}
}
try {
// ìëí ëª
ë ¹ë¬¸
monthName = getMonthName(myMonth); // ìì¸ê° ë°ìí ì ìë í¨ì
} catch (e) {
monthName = "unknown";
logMyErrors(e); // ì¤ë¥ ì²ë¦¬ê¸°ì ìì¸ ê°ì²´ ì ë¬
}
catch
ë¸ë¡
try
ë¸ë¡ìì ë°ìí ì ìë 모ë ìì¸ë catch
ë¸ë¡ìì ì²ë¦¬í ì ììµëë¤.
catch (catchID) {
statements;
}
catch
ë¸ë¡ì throw
ëª
ë ¹ë¬¸ì´ ëì§ ìì¸ì ê°ì ë´ì ìë³ì(ì ì½ë ë¸ë¡ììë catchID
)를 ì§ì í©ëë¤. ì´ ìë³ì를 íµí´, ë°ìí ìì¸ì ì 보를 ììë¼ ì ììµëë¤.
JavaScriptë catch
ë¸ë¡ì ì§ì
í´ì¼ ìì¸ì ìë³ì를 ìì±íê³ , catch
ë¸ë¡ì ë°ì¼ë¡ ëê°ë©´ ìë³ì를 ë ì´ì ì ì§íì§ ììµëë¤. ì¦, catch
ë¸ë¡ì ì¤íì´ ëëë©´ ìì¸ ìë³ìì ì ê·¼í ì ììµëë¤.
ìëë ìì¸ë¥¼ ëì§ê³ ì¡ë ìì ì½ëì
ëë¤. ìì¸ë¥¼ ëì§ë©´ ê·¸ ìê° ì ì´ê¶ì´ catch
ë¸ë¡ì¼ë¡ ëì´ê°ëë¤.
try {
throw "myException"; // ìì¸ ìì±
} catch (e) {
// 모ë ìì¸ë¥¼ ì²ë¦¬í기 ìí ëª
ë ¹ë¬¸
logMyErrors(e); // ì¤ë¥ ì²ë¦¬ê¸°ì ìì¸ ê°ì²´ ì ë¬
}
ì°¸ê³ :
catch
ë¸ë¡ ììì ì¤ë¥ë¥¼ 기ë¡í ëconsole.log()
ë³´ë¤console.error()
를 ì¬ì©íë ê²ì ì¶ì²í©ëë¤.console.error()
ë ì¶ë ¥ íìë ì¤ë¥ì ì í©íê³ , íì¬ íì´ì§ìì ë°ìí ì¤ë¥ì 목ë¡ë ì ë°ì´í¸í©ëë¤.
finally
ë¸ë¡
finally
ë¸ë¡ì try
ì catch
ë¸ë¡ ì¤íì´ ëë í ì´ì´ì, ê·¸ë¦¬ê³ try...catch...finally
문 ì´íì ëª
ë ¹ë¬¸ë¤ë³´ë¤ë 먼ì ì¤íí ëª
ë ¹ë¬¸ì ë´ìµëë¤.
finally
ë¸ë¡ì try
ë¸ë¡ ììì ìì¸ê° ë°ìíëì§ ì¬ë¶ì ê´ê³ ìì´, catch
ë¸ë¡ì´ ë°ë¡ ì¡´ì¬íì§ ìëë¼ë íì ì¤íë©ëë¤.
finally
ë¸ë¡ì íì©íë©´ ìì¸ê° ë°ìíì ë íë¡ê·¸ë¨ì´ ì°ìíê² ì¤í¨íëë¡ ë°©ì´í ì ììµëë¤. ì를 ë¤ì´, ìì¸ì ë°ì ì¬ë¶ë¥¼ ë°ì§ì§ ìê³ ì¤í¬ë¦½í¸ê° ì ì í 리ìì¤ë¥¼ í´ì í´ì¼ í ë ì¬ì©íì¸ì.
ë¤ìì ì½ë ìì ë íì¼ì ì´ì´ì ê·¸ ìì ë°ì´í°ë¥¼ ì¬ì©íë í¨ì(writeMyFile()
)를 í¸ì¶íë ììì
ëë¤. (ìë²ì¬ì´ë JavaScriptììë íì¼ì ì ê·¼í ì ììµëë¤) íì¼ì´ ì´ë ¤ìë ëì ìì¸ê° ëíëë©´, ì¤í¬ë¦½í¸ê° ì¤í¨í기 ì ì finally
ë¸ë¡ì´ íì¼ì ë«ìì¤ëë¤. finally
를 ì¬ì©í¨ì¼ë¡ì¨ ì¤ë¥ê° ë°ìíëë¼ë íì¼ì´ ì´ë¦° ì± ë°©ì¹ëë ì¼ì ë°©ì§í ì ìë ê²ì
ëë¤.
openMyFile();
try {
writeMyFile(theData); // ì¤ë¥ê° ë°ìí ì ìë ì½ë
} catch (e) {
handleError(e); // ì¤ë¥ê° ë°ìíë©´ ì²ë¦¬í¨
} finally {
closeMyFile(); // íì 리ìì¤ í´ì
}
ë§ì½ finally
ë¸ë¡ì´ ê°ì ë°ííë¤ë©´, ê·¸ ê°ì´ ì ì²´ try...catch...finally
문ì ë°í ê°ì´ ë©ëë¤. try
ì catch
ë¸ë¡ìì ë°ííë ê°ì 무ìí©ëë¤.
function f() {
try {
console.log(0);
throw "bogus";
} catch (e) {
console.log(1);
return true; // finally ë¸ë¡ì ì¤íì´ ëë ëê¹ì§ ì¤ë¨ë¨
console.log(2); // ì ê·¼ ë¶ê°
} finally {
console.log(3);
return false; // ìì returnë³´ë¤ ì°ì í¨
console.log(4); // ì ê·¼ ë¶ê°
}
// return falseê° ì¤íë¨
console.log(5); // ì ê·¼ ë¶ê°
}
console.log(f()); // 0, 1, 3, false
finally
ì ë°í ê°ì´ ì°ì íë ê²ì catch
ë¸ë¡ìì ëì§ ìì¸ìë ì ì©ë©ëë¤.
function f() {
try {
throw "ìì¸";
} catch (e) {
console.log('ë´ë¶ "ìì¸" í¬í');
throw e; // finally ë¸ë¡ì ì¤íì´ ëë ëê¹ì§ ì¤ë¨
} finally {
return false; // ìì throwë³´ë¤ ì°ì í¨
}
// return falseê° ì¤íë¨
}
try {
console.log(f());
} catch (e) {
// ëë¬ ë¶ê°ë¥í catch ë¸ë¡!
// f()ê° ì¤íëë©´ `finally`ìì false를 ë°íí¨
// ë°íì´ catchì throwë³´ë¤ ì°ì íì¼ë¯ë¡ ìì¸ê° ìì
console.log('caught outer "bogus"');
}
// ì¶ë ¥ ê²°ê³¼
// ë´ë¶ "ìì¸" í¬í
// false
try...catch 문 ì¤ì²©í기
try...catch
문ì íë ì´ì ì¤ì²©í ì ììµëë¤.
ì쪽 try
ë¸ë¡ì´ catch
ë¸ë¡ì ê°ì§ì§ ìì ê²½ì°,
try
ë¸ë¡ìë ë°ëì finally
ë¸ë¡ì´ ìì´ì¼ í©ëë¤.try...catch
문ì catch
ë¸ë¡ì´ ì쪽 ìì¸ë¥¼ ì²ë¦¬íê² ë©ëë¤.ë ìì¸í ì ë³´ë try...catch
ì°¸ê³ ìì ì¤ì²© try ë¸ë¡ì ì°¸ê³ íì¸ì.
Error
ê°ì²´ì name
ê³¼ message
ìì±ì¼ë¡ë¶í° ì¤ë¥ì ì íì ë°ë¼ ì¢ ë ì ì ë ë©ìì§ë¥¼ ê°ì ¸ì¬ ì ììµëë¤.
name
ì Error
ì ì¼ë°ì ì¸ í´ëì¤(DOMException
, Error
, ë±ë±)를 ì ê³µí©ëë¤. message
ë ì¤ë¥ ë©ìì§ì¸ë°, ëê° ì¤ë¥ ê°ì²´ë¥¼ 문ìì´ë¡ ë³íí ê²°ê³¼ë³´ë¤ ë ê°ê²°í ííì
ëë¤.
ì§ì ìì¸ë¥¼ ëì§ë ¤ë ê²½ì°ìë, í¹í catch
ë¸ë¡ì´ ìì¤í
ì¤ë¥ì ì§ì ëì§ë ìì¸ë¥¼ 구ë¶íì§ ìëë¤ë©´, Error
ìì±ì를 ì¬ì©í´ì ë ìì±ì ì ê³µí ì ììµëë¤.
function doSomethingErrorProne () {
if (ourCodeMakesAMistake()) {
throw (new Error('ë©ìì§'));
} else {
doSomethingToGetAJavascriptError();
}
}
â®
try {
doSomethingErrorProne();
}
catch (e) {
console.log(e.name); // 'Error' 기ë¡
console.log(e.message); // 'ë©ìì§' ëë JavaScript ì¤ë¥ ë©ìì§ ê¸°ë¡
}
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