๋ชฉ์ฐจ
ES6๋ถํฐ๋ Tagged Literals ๋ผ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค. ์ด์ ๋ํด์ ์์๋ณด์.
1. Tagged Literals
Tagged Literals๋ ๋ฌธ์ ํด์ฒด๋ถ์ ๊ธฐ๋ฅ์ ํจ์๋ก ๋ง๋๋ ๊ฒ์ ์ด์ผ๊ธฐํ๋ค.
์ด๋ template literals๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌํํ ์ ์๋ค.
์์
let val = "Korea";
function func(strings, values){
console.log(strings);
console.log(values);
}
func`Welcome to ${val}!`
์์ ์์๋ฅผ ๋ณด๋ฉด
func๋ผ๋ ํจ์์ ๋ฐฑํฑ( ` )์ผ๋ก ๊ฐ์ธ์ง ๋ฌธ์์ด์ ๋ถ์ธ ๊ฒ์ ๋ณผ ์ ์๋ค.
์ด๊ฒ์ด ๋ฐ๋ก tagged literals ํจ์๋ฅผ ํธ์ถํ๋ ๋ฐฉ๋ฒ์ด๋ค.
tagged literals ํจ์๋ฅผ ์ดํด๋ณด๋ฉด 2๊ฐ์ ํ๋ผ๋ฏธํฐ๋ฅผ ๊ฐ์ง๊ณ ์๋๋ฐ
์ฒซ๋ฒ์งธ ํ๋ผ๋ฏธํฐ๋ ๋ฐฑํฑ ๋ด ์์ํ ๋ฌธ์๋ค์ ๋ณ์ ๊ธฐ์ค์ผ๋ก ๋๋์ด Array ํํ๋ก ๋ง๋ ๊ฒ์ด๊ณ ,
๋๋ฒ์งธ ํ๋ผ๋ฏธํฐ๋ ๋ฐฑํฑ ๋ด ${}๋ก ๊ฐ์ธ์ ธ์๋ ๋ณ์๋ฅผ ๋ด๋ ๊ฒ์ด๋ค.
์ด๋ ๋ณ์๊ฐ ์ฌ๋ฌ๊ฐ์ผ ๊ฒฝ์ฐ์๋ ์ฌ๋ฌ๊ฐ์ ํ๋ผ๋งํฐ๋ฅผ ๋ง๋ค์ด์ฃผ๊ฑฐ๋ restํ๋ผ๋ฏธํฐ๋ฅผ ์ด์ฉํ๋ค!
์์
let val1 = "Korea";
let val2 = "USA";
let val3 = "Japan";
function func(strings, ...values){
console.log(strings);
console.log(values);
}
func`Welcome to ${val1} and ${val2} and ${val3}!`
์ด์ฒ๋ผ ๋ณ์ ๊ธฐ์ค์ผ๋ก ๋๋ Array์
์ฌ๋ฌ๊ฐ์ ๋ณ์๋ฅผ ๋ด์ Array๋ฅผ ๋ฐํํ๋ ๊ฒ์ ์ ์ ์๋ค.
์ด ๊ฒฐ๊ณผ๊ฐ์ ์ด์ฉํ์ฌ ๋ฌธ์์ ์์๋ฅผ ๋ฐ๊พธ์ด ๋ฐํํ๊ฑฐ๋ ์ผ๋ถ ๋ฌธ์๋ง ์ถ์ถํ ์ ์๋ค.
let val1 = "Korea";
let val2 = "USA";
let val3 = "Japan";
function func(strings, ...values){
console.log(`We are going to ${values[2]} and ${values[1]} this Summer`);
}
func`Welcome to ${val1} and ${val2} and ${val3}!`
--------
"We are going to Japan and USA this Summer"
'๐ | WEB DEV > Vanilla JS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
JS_๊ธฐ๋ณธ ๋ฌธ๋ฒ (31)_ ํจ์ ํ๋ผ๋ฏธํฐ (default, arguments) (0) | 2023.08.07 |
---|---|
JS_๊ธฐ๋ณธ ๋ฌธ๋ฒ (30)_ Spread Operator (0) | 2023.08.06 |
JS_๋ฌธ๋ฒ (๊ฐ์ธ)_ ๋ณ์ ์ด์ ๋ฆฌ (0) | 2023.08.04 |
JS_๊ธฐ๋ณธ ๋ฌธ๋ฒ (28)_ Arrow function (0) | 2023.08.02 |
JS_๊ธฐ๋ณธ ๋ฌธ๋ฒ (27)_ this ํค์๋ (0) | 2023.08.01 |
๋๊ธ