๐คด template literals
ES6 ์์ ์ถ๊ฐ๋ ๋ฌธ๋ฒ์์ ํธํ ๊ฒ ์ค ํ๋๊ฐ template literal ์ ๋๋ค.
์๋ string์ ์์ฑํ ๋ ๋ฐ์ดํ๋ฅผ ์ฌ์ฉํ์์ง๋ง,const name = '๊น๊ฐ๋ฐ';
์ด์
back tick
์ผ๋ก๋ string์ ๊ฐ์ ์ ์์ต๋๋ค.const name = `๊น๊ฐ๋ฐ`;
๊ทธ๋ฆฌ๊ณ back tick ์ผ๋ก ๊ฐ์ธ๋ฉด ๊ทธ ์์ ๋ณ์๋ฅผ ๋ฃ์ด์ ํํํ ์ ์์ต๋๋ค.
const name = '๊น๊ฐ๋ฐ'; const hi = `์๋ ํ์ธ์. ์ ๋ ${name} ์ ๋๋ค.`;
๋ณ์๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ${} ์ผ๋ก ๋ณ์๋ฅผ ๊ฐ์ธ์ค์ผ ํฉ๋๋ค.
ES5 ํํ์์๋ ์ด๋ป๊ฒ ํ์์ฃ ?const hi = '์๋ ํ์ธ์. ์ ๋ ' + name + ' ์ ๋๋ค.';
์ด๋ ๊ฒ ํ์ด์ผ ํ์ต๋๋ค.
์ํฐ ์ฒ๋ฆฌ(๊ฐํ, break line)๋ ์ด๋ป๊ฒ ํด์ผํ๋์?
์๋์ ํํ์ด ๊ฐ๋ฅํ๊ฐ์?
์๋๋ ๋ฌธ๋ฒ ์ค๋ฅ์ ๋๋ค.let detail = '์์ธํ ๋ณด์์ผ ์ด์๋ค'; console.log(detail); //์ค๋ฅ
๋ฐ์ดํ๋ก ๊ฐ์ผ string์ ๊ฐํ ์ฒ๋ฆฌ๋ฅผ ํ์ง ์์ผ๋ฉฐ, ๋ฌธ๋ฒ ์ค๋ฅ์ ๋๋ค.
๋ฐ์ดํ๋ก ๊ฐ์ผ string์์ ๊ฐํ์ ํ๋ ค๋ฉด ์๋ ์๋์ฒ๋ผ ํด์ผํฉ๋๋ค.let detail = '์์ธํ\n'+'๋ณด์์ผ\n'+'์ด์๋ค'; console.log(detail);
๊ทธ๋ฐ๋ฐ template literal์์๋ string์ ์ ๋ ฅํ๋๋ก ๊ฐํ์ด ๋ฉ๋๋ค.
let detail = `์์ธํ ๋ณด์์ผ ์ด์๋ค ๋ด์ฝ๋..`; console.log(detail);
๐คด string method
ES6์์ ์ถ๊ฐ๋ ๋ช ๊ฐ์ง ์ ์ฉํ string method๋ฅผ ์๊ฐํด ๋๋ฆฝ๋๋ค.
๊ทธ ๋์ string์์ ํน์ string์ ์ฐพ๊ธฐ ์ํด indexOf๋ฅผ ์ฌ์ฉํ์์ต๋๋ค.
๊ทธ๋ฐ๋ฐ ์ด์ ์๋์ 3๊ฐ์ง method๊ฐ ์๊ฒผ์ต๋๋ค.
์ด๋ฆ ๊ทธ๋๋ก ๊ธฐ๋ฅ์ ํ์ ํ์๋ฉด ๋ฉ๋๋ค.
- startsWith
- endsWith
- includes
const email = 'yealee.kim87@gmail.com'; console.log(email.startsWith('ye')); //true console.log(email.endsWith('com')); //true console.log(email.includes('@gmail')); //true
๊ทธ๋ฆฌ๊ณ ํน์ ๋ฌธ์์ด์ ๋ฐ๋ณตํ๊ณ ์ถ์ผ๋ฉด repeat ํจ์๋ฅผ ์ฐ๋ฉด ๋ฉ๋๋ค.
'#'.repeat(3); //###
๋ ์์ธํ ๋ด์ฉ์
https://javascript.info/string
๐คด Assignment
์ผํ๋ชฐ์์ ํ์๊ฐ์ ์ ํ ๋ฒ ์ฏค์ ์๋์ ๊ฐ์ ๋ฌธ๊ตฌ๋ฅผ ๋ณด์ จ์ ๊ฒ๋๋ค.ํ์ํฉ๋๋ค. ์์ฝ๋๋! ํ์๊ฐ์ ๊ธฐ๋ ์ผ๋ก ์ฟ ํฐ์ ์ ๋ฆฝํด ๋๋ ธ์ต๋๋ค.
์ด ๋ฌธ๊ตฌ์์ ์ ์ถํ ์ ์๋ ๊ฒ์ ์ด๋ฆ ๋ถ๋ถ๋ง ๊ณ์ ๋ฐ๋๊ณ ๋๋จธ์ง ๋ถ๋ถ์ ๊ณ ์ ๋๋ค๋ ๊ฒ์ ๋๋ค. ์ด๋ฆ ๋ถ๋ถ์ ๋ณ์๋ก ๊ด๋ฆฌํ๊ฒ ์ฃ ?
๊ทธ๋ ๋ค๋ฉด handleEdit ๋ผ๋ ์ด๋ฆ์ ๊ฐ์ง ํจ์๋ฅผ ๊ตฌํํด ๋ด ์๋ค.
์ด ํจ์๋ nickname, interests ๋ผ๋ ๋ string์ ์ธ์๋ก ๋ฐ์ต๋๋ค. nickname์ ์ ์ ์ ๋๋ค์์, interests๋ ์ ์ ์ ๊ด์ฌ์ฌ๋ฅผ ์๋ฏธํฉ๋๋ค.
interests์๋ ์ฌ๋ฌ ๊ด์ฌ์ฌ๋ฅผ ์ ์ ์ ์์ต๋๋ค. ๊ทธ ๋ ๊ทธ ๊ด์ฌ์ฌ์ ๊ตฌ๋ถ์ ์ฝค๋ง(,)๋ฅผ ์ด์ฉํฉ๋๋ค.
nickname๊ณผ interests๊ฐ ๋ฌธ์ ์์ด ์ ๋ค์ด์๋ค๋ฉด ์ ์ ์ ๋ณด๋ฅผ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๊ธฐ ์ํด์ Object์ ์ด ์ ๋ณด๋ฅผ ๋ด์์ ๊ด๋ฆฌํ ๊ฒ๋๋ค.
์๋ฅผ ๋ค์ด ์ ๋ ฅ ๊ฐ์ด nickname = "๋๋น", interests = "๋ฐฉํ์ถ,ํ ๋์ค,๋ฉ ๋๋ฆฌ๊ธฐ"๋ผ๊ณ ํ์ ๋
์๋์ ๊ฐ์ด Object๋ฅผ ๋ฆฌํดํ๋๋ก ๊ตฌํํด ์ฃผ์ธ์.
์ฃผ์
1) interests๋ ๋ฐฐ์ด์ ๋๋ค.
2) interests๋ฅผ ์ ์ ๋ ์ฝค๋ง(,) ๋ค์ ์คํ์ด์ค๋ ์ง์์ฃผ์ธ์.{ nickname: "๋๋น", interests: ["๋ฐฉํ์ถ","ํ ๋์ค","๋ฉ ๋๋ฆฌ๊ธฐ"], bio: "์ ๋๋ค์์ ๋๋น์ ๋๋ค. ์ทจ๋ฏธ๋ ๋ฐฉํ์ถ,ํ ๋์ค,๋ฉ ๋๋ฆฌ๊ธฐ์ ๋๋ค." }
๋์ ๋ต๋ณ:
const handleEdit = (nickname, interests) => { let forFun = interests.split(",") let aboutMe = { nickname : nickname, interests : forFun, bio : `์ ๋๋ค์์ ${nickname}์ ๋๋ค. ์ทจ๋ฏธ๋ ${interests}์ ๋๋ค.` } return aboutMe; } handleEdit("์ง์", "์ํ๋ณด๊ธฐ, ์ฑ ์ฝ๊ธฐ"); /* { nickname: '์ง์', interests: [ '์ํ๋ณด๊ธฐ', '์ฑ ์ฝ๊ธฐ' ], bio: '์ ๋๋ค์์ ์ง์์ ๋๋ค. ์ทจ๋ฏธ๋ ์ํ๋ณด๊ธฐ,์ฑ ์ฝ๊ธฐ์ ๋๋ค.' } */