javascript ๋ฅผ ํ์คํ ์ํค๋ ค๊ณ ํ์ํจ
๋ฌธ๋ฒ ๋ณด์์ด ํ์ํ๋ฉด์ ๋ฌธ๋ฒ ํ์ฅ์ํค๊ณ ํ์คํํ๊ณ ๊ท๊ฒฉํ ํ๊ธฐ ์ํด ๋ง๋ค์ด ์ง ๊ฒ.
ํ์ฌ es10 ๊น์ง ๋์๊ณ ์ฃผ๋ก es6 ๊ฐ ์ฐ์ธ๋ค 2015 ๋ผ๊ณ ๋ ํจ
arrow function(ํ์ดํ ํจ์)
์ด๋ผ๊ณ ํ๋ ๊ฑฐ
function ์ ํํํ๋ ๋ฐฉ๋ฒ์ด ์์ ํ ๋ฌ๋ผ์ง(์๊น์๋ง ๋ฐ๋ ๊ฒ)
์ด๋ฆ ์๋ ํจ์ ํํ
ES5
function(){}
ES6
() => {}
์ด๋ฆ ์๋ ํจ์
ES5
function getName(){}
ES6
const getName = () => {}
ํธ์ถ ํ ๋๋ ๋ ๋ค ๊ฐ๋ค
ES6 ๋ฐฉ์์ ๊ฒฝ์ฐ ์ธ์ ํ๋๋ฅผ ๋ฐ์ ๋๋, ๊ดํธ ์๋ต ๊ฐ๋ฅ
//ES5
const getName = function(name) {}
//ES6
const getName = (name) => {}
const getName = name => {}
ํจ์๊ฐ ์คํ๋ด์ฉ์ด ๋ฑํ ์์ด ๋ฆฌํด๋ง ํ๋ค๋ฉด return ํค์๋์ ์ค๊ดํธ๊ฐ ์๋ต๊ฐ๋ฅ.
์ด๋ ๊ฒ ์๋ต๋ ๋๋, ํ์ดํ ์ค๋ฅธ์ชฝ์ ๋ฆฌํด๋ ๊ฐ๋ง ์ฐ์ฌ์ผ ๋๋ค.
ex1)
//ES5
function getName(name) {
return name;
}
//ES6
const getName = name => { return name };
const getName = name => name;
ex2)
//ES5
function getFullName(first, family) {
return first + family;
}
//ES6
const getFullName = (first, family) => { return first + family };
const getFullName = (first, family) => first + family;
back tick ์ผ๋ก๋ string ๊ฐ์ ์ ์๋ค.
const name = `๊น๊ฐ๋ฐ`
์ด๋ ๊ฒ ๊ฐ์ธ๋ฉด ๊ทธ ์์ ๋ณ์๋ฅผ ๋ฃ์ด์ ํํ ํ ์ ์๋ค.
const name = '๊น๊ฐ๋ฐ';
const hi = `์๋
ํ์ธ์. ์ ๋ ${name} ์
๋๋ค.`;
//์๋๋ (ES5์์๋)
const hi = '์๋
ํ์ธ์. ์ ๋ ' + name + ' ์
๋๋ค.';
//์ด๋ ๊ฒ ์ผ๋ค.
์๋๋ ๋ณ์ ์๋ ๋ถ๋ถ๋ง ์์ ๋ฐ์ดํ ํ์๋๋ฐ ๋ฐฑํฑ์ฐ๋ฉด ์ด๊ฑด ํธํ๋ค.
๋ณ์๋ก ์ฐ๋ ค๋ฉด ${}์ผ๋ก ๋ณ์ ๊ฐ์ธ์ค์ผํจ
๊ฐํ(์ค๋ฐ๊ฟ) ์ฒ๋ฆฌ
๋ฐ์ดํ๋ก ๊ฐ์์ ๋๋ ๊ฐํ ์ฒ๋ฆฌ๊ฐ ์๋๋ค.
๋ฐ์ดํ๋ก ๊ฐ์ผ string ์์ ๊ฐํ ํ๋ ค๋ฉด, string ์ด๋ ๊ฐ์ด ๋ฐ์ดํ ์์ /n ์ ์ฐ๋ฉด ๋๋ค.
let detail = '์์ธํ\n'+'๋ณด์์ผ\n'+'์ด์๋ค';
๊ทผ๋ฐ, template literal (๋ฐฑํฑ ์ฐ๋ es6) ์์๋ ์ ๋ ฅํ๋๋ก ๊ฐํ์ด ๋๋ค.
let detail = `์์ธํ
๋ณด์์ผ
์ด์๋ค`
IndexOf ๋ ํน์ ๋ฌธ์์ด์ ์์น๋ฅผ ์ฐพ๋ ๋ฉ์๋ ์๋๋ฐ,
ES6 ์์ 3๊ฐ์ ๋น์ทํ ๋ฉ์๋๊ฐ ์ถ๊ฐ๋จ
string.startsWith('a') // a๋ก ์์ํ๋๊ฐ ? // true or false ๋ก ๋์ด
string.endsWith('a') // a๋ก ๋๋๋๊ฐ? // true or false
string.includes('a') // a๋ฅผ ํฌํจํ๋๊ฐ? // true or false
ex)
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(๋ฐ๋ณตํ์)
console.log('string'.repeat(3)); // stringstringstring
string.split(separator, limit)
๋ฌธ์์ด์ separator๋ก ์๋ผ์
,limit ํฌ๊ธฐ ์ดํ์ ๋ฐฐ์ด์ ์๋ผ์ ์ ์ฅ
ํด์๋ฆฌํด
ํจ
separator
: ํ์์๋, ์ด ๋จ์๋ก ๋ฌธ์์ด ์๋ผ์ ๋ฆฌํดํจ. ์๋ฌด๊ฒ๋ ์๋ฃ์ผ๋ฉด ๋ฌธ์์ด ์ ์ฒด๋ฅผ ๋ฐฐ์ด์ ๋ฃ์
limit
: ํ์์๋, ์ต๋ ๋ถํ ๊ฐ์ (๋ช๋ฑ๋ถํ ๊ฒ์ธ๊ฐ)
document.writeIn์ document.write ์ด๋ ๊ฐ์๋ฐ ์ค๋ฐ๋์ด ๋๋ค.
// 1. separator ์๋ฃ์ผ๋ฉด,
const str = "apple banana orange";
const arr = str.split();
document.writeln(arr); // apple banana orange
document.writeln(arr.length); // 1
// apple banana orange๊ฐ ํ ๋ฉ์ด๋ก ๋ฐฐ์ด์ ๋ด๊ธด๋ค.
//2. ๋จ์ด ๋ณ๋ก ์๋ฅด๊ธฐ (separatror ๊ฐ " " ์ผ ๋)
const str = "apple banana orange";
const arr = str.split(" ");
document.writeln(arr.length); // 3
document.writeln(arr[0]); // apple
document.writeln(arr[1]); // banana
document.writeln(arr[2]); // orange // 3๋จ์ด๋ก ๋๋์ด์ ๋ฐฐ์ด์ ๋ด๊ธด๋ค.
//
3. separator๋ก ""(length๊ฐ 0์ธ ๋ฌธ์์ด)์ ์ ๋ฌํ๋ฉด,
const str = "a b c";
const arr = str.split("");
document.writeln(arr.length); // 5
document.writeln(arr[0]); // a
document.writeln(arr[1]); // ' '(space)
document.writeln(arr[2]); // b
document.writeln(arr[3]); // ' '(space)
document.writeln(arr[4]); // c
//๋ฌธ์์ด์ ๊ฐ๊ฐ์ ๋ฌธ์๋ณ๋ก ์๋ผ์, ํ ๊ธ์์ฉ(๊ณต๋ฐฑ ํฌํจ) ๋ฐฐ์ด์ ์ ์ฅํ์ฌ ๋ฆฌํดํ๋ค.
4. ํน์ ๊ตฌ๋ถ์(",")๋ก ๋๋ ์ ์๋ฅผ ๋
const str = "apple,banana,orange";
const arr = str.split(",");
document.writeln(arr.length); // 3
document.writeln(arr[0]); // apple
document.writeln(arr[1]); // banana
document.writeln(arr[2]); // orange
5. limit ์ง์ ํ ๋,
const str = "apple,banana,orange";
const arr = str.split(",", 2);
document.writeln(arr.length); // 2
document.writeln(arr[0]); // apple
document.writeln(arr[1]); // banana
document.writeln(arr[2]); // undefined
// ๊ธธ์ด ๋ฆฌ๋ฐ์ด 2์ฌ์, ์์์๋ถํฐ 2๋ฑ๋ถ๋ง ๋๋ค.
์ฌ๊ธฐ์๋ , split ํจ์๋ฅผ ์ด์ฉํด์ interest ๋ก ์ฐ์ด๋ ๊ฐ๋ค์ ๋๋ ์ ๋ฐฐ์ด๋ก ๋ฃ๋ ๊ฒ ํต์ฌ์ด๋ค.
์ธ์ ๋ฃ์ ๋, ์ธ์๊ฐ ๋ฌธ์๋ฉด ๋ฐ์ดํ ๋ฃ์ด์ผ ๋๋๊ฑฐ ๋น์ฐํ๊ฑด๋ฐ ํท๊ฐ๋ฆฌ์ง ๋ง์.
const handleEdit = (nickname, interests) => {
const a = { nickname : nickname ,
interests : interests.split(",") ,
bio : `์ ๋๋ค์์ ${nickname}์
๋๋ค. ์ทจ๋ฏธ๋ ${interests} ์
๋๋ค.`
}
return a
}
console.log(handleEdit("๋์", "๋ฐฅ๋จน๊ธฐ,์ฑ
์ฝ๊ธฐ,์ด๋ํ๊ธฐ"));