<aside>
π‘ Syntax: λ¬Έμμ΄
, λ¬Έμμ΄ ${ννμ} λ¬Έμμ΄
, tagλ¬Έμμ΄ ${ννμ} λ¬Έμμ΄
</aside>
Template Literalμ λ¬Έμμ΄ μ²λ¦¬λ₯Ό μν 리ν°λ΄λ‘μ¨ ννμμ ν¬ν¨ν μ μμ΅λλ€. κΈ°μ‘΄μ μ°λ¦¬κ° λ¬Έμμ΄ μ¬μ΄μ λμ μΌλ‘ λ³κ²½λ λ³μκ°μ λ£μ΄μΌ νλ€κ³ νλ©΄
'μ€λμ λ μ§λ' + today + μ
λλ€.μ΄λ°μμΌλ‘
+` μ°μ°μΌλ‘ λ¬Έμμ΄ κ²°ν©μ ν΄μΌνμ΅λλ€. νμ§λ§, Template Literal μ ν΅ν΄ ννμμ΄ ν¬ν¨λ λ¬Έμμ΄μ²λ¦¬λ₯Ό ν λ²μ ν μμκ² λ©λλ€.
λν, ν¨μλ₯Ό νΈμΆνλ©° Template Literalμ λ°λ‘ νλΌλ―Έν°λ‘ λ£μ΄μ€μλ μλλ° ν νλ¦Ώ μμ ννμμ΄ μλ€λ©΄ νκ°κ° λ κ²°κ³Όκ° νλΌλ―Έν°λ‘ λμ΄κ°κ² λ©λλ€.
console.log(`ABC`);
const one = 1, two = 2;
const result = `1 +2λ ${one + two}μ΄ λλ€.`;
console.log(result);
console.log(`1 +2λ\\n ${one + two}μ΄ λλ€.`);
[μ€ν κ²°κ³Ό]
ABC
1 + 2λ 3μ΄ λλ€.
1 +2λ 3μ΄ λλ€.
ν νλ¦Ώμ ν¨μ μ΄λ¦μ μμ±ν ννλ₯Ό tagged TemplateλΌ νλλ° μ¬κΈ°μ νΈμΆλλ ν¨μλ₯Ό νκ·Έν¨μ(tag function)μ΄λΌ λΆλ¦ λλ€.
Templateμμ λ¬Έμμ΄κ³Ό ννμμ λΆλ¦¬ν©λλ€.
"1 + 2 = "κ° λ¬Έμμ΄, ${one + two}κ° ννμμ΄λ©° νκ°κ²°κ³Όλ 3μ λλ€.
show()ν¨μλ₯Ό νΈμΆν©λλ€.
λ¬Έμμ΄μ λ°°μ΄λ‘ λ겨μ€λλ€. μ’μΈ‘βμ°μΈ‘μΌλ‘ λ°°μ΄ μ리먼νΈλ‘ μΆκ°νλ©° λ§μ§λ§ λΉ λ¬Έμμ΄μ μ리먼νΈλ‘ μΆκ°ν©λλ€.
β λΉ λ¬Έμμ΄μ ν νλ¦Ώμμ μλμΌλ‘ λκ²¨μ€ κ°μ λλ€.
ννμμ νκ° κ²°κ³Όλ₯Ό λ겨μ€λλ€.
β show(["1 + 2 =", ""], 3)κ³Ό κ°μ΅λλ€.
const one = 1, two = 2;
const show = (text, value) =>{
console.log(`${text[0]}${value}`);
console.log(text[1]);
};
show `1 + 2 = ${one + two}`;
[μ€ν κ²°κ³Ό]
1 + 2 = 3
""
κ·Έλ λ€λ©΄, show ν¨μλ₯Ό νΈμΆ ν λ ννμμ΄ νλκ° μλλΌ λ€μλΌλ©΄ μ΄λ»κ² ꡬνμ ν΄μΌν κΉμ? μ μμ μ²λΌ κ°λ¨ν ν νλ¦Ώμ΄ μλ μ‘°κΈ λ 볡μ‘ν ν νλ¦ΏμΌ κ²½μ°μλ νκ·Έ ν¨μμ λμνλ νλΌλ―Έν° μ΄λ¦μ μμ±ν΄μΌ ν©λλ€.
const one = 1, two = 2;
const show = (text, plus, minus) =>{
console.log(`${text[0]}${plus}`); // 1 + 2 = 3
console.log(`${text[1]}${minus}`);//μ΄κ³ 1-2=-1
console.log(`${text[2]}${text[3]}`);//μ΄λ€undefined
};
show `1 + 2 = ${one + two}μ΄κ³ 1-2λ${one-two}μ
λλ€.`;
show 1 + 2 = ${one + two}μ΄κ³ 1-2λ${one-two}μ
λλ€.
;
β μ ν
νλ¦Ώμ ν
νλ¦Ώμ κΈ°μ€μΌλ‘ λ¬Έμμ΄μ ννμμ κΈ°μ€μΌλ‘ splitλμ΄ λ°°μ΄μ΄λκ³ , ννμμ κ°κ°μ΄ νλμ© λ€μ΄κ°κ² λ©λλ€. ν΄λΉ ν
νλ¦Ώμ ["1 + 2 =", "μ΄κ³ 1-2λ", "μ
λλ€"]μ΄λΌλ λ°°μ΄ νλΌλ―Έν° νλμ ${one + two}μ νκ° κ²°κ³ΌμΈ 3κ³Ό ${one-two}μ νκ°κ²°κ³ΌμΈ -1μ΄ μ λ¬λμ΄ μ΅μ’
μ μΌλ‘ show( ["1 + 2 =", "μ΄κ³ 1-2λ", "μ
λλ€", ""], 3, -1)
μ΄ λ©λλ€.
λνμ¬ ν νλ¦Ώμ λμ λ¬Έμμ΄μ΄ μμΌλ©΄ λΉ λ¬Έμμ΄μ μ€μ νμ§ μμ΅λλ€.
μ¬κΈ°μ ν κ±Έμ λ λμκ° RestνλΌλ―Έν°λ₯Ό μ¬μ©νλ©΄ ν νλ¦Ώμ ννμμ μ’ λ μ μ°νκ² λ°μ μ μμ΅λλ€.
const one = 1, two = 2;
const show = (text, ...rest) =>{
console.log(`${text[0]}${rest[0]}`); // 1 + 2 = 3
console.log(`${text[1]}${rest[1]}${text[2]}`);//μ΄κ³ 1-2=-1μ
λλ€.
};
show `1 + 2 = ${one + two}μ΄κ³ 1-2λ${one-two}μ
λλ€.`;
const show = (text, ...rest)
β rest νλΌλ―Έν°λ [3, -1]μ λλ€.