๐Ÿ“• Language/JavaScript

[Javascript] ES5, 6 ์ฐจ์ด

a n u e 2022. 5. 23. 18:11

 

ES6

1. const and let
 ์ƒˆ๋กœ์šด ๋ณ€์ˆ˜ ํ‚ค์›Œ๋“œ
 const - var๋ณด๋‹ค ๊ฐ•๋ ฅํ•˜๊ณ , ๋ณ€์ˆ˜๋ฅผ ์žฌํ• ๋‹นํ•  ์ˆ˜ ์—†๋‹ค.
 let - const์™€ ๋‹ฌ๋ฆฌ ๋ณ€์ˆ˜ ์žฌํ• ๋‹น ๊ฐ€๋Šฅ



2. Arrow functions(ํ™”์‚ดํ‘œ ํ•จ์ˆ˜)

ES5

function func(name) {
return '๋‚ด ์ด๋ฆ„์€' + name;
}
console.log(func('kea')); //๋‚ด ์ด๋ฆ„์€ kea


ES6

<๋ฐฉ๋ฒ• 1>
const func = (name) => {
return `๋‚ด ์ด๋ฆ„์€ ${name}`;
}

<๋ฐฉ๋ฒ• 2 : return ํ‚ค์›Œ๋“œ ๋นผ๋„ ๋œ๋‹ค.>
const func = (name) => `์•ˆ๋…• ${name}`;

<๊ฒฐ๊ณผ>
console.log(func('kea')); //๋‚ด ์ด๋ฆ„์€ kea

 



map, filter, reduce ๋“ฑ ๋‚ด์žฅ ํ•จ์ˆ˜์™€ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

ES5

const arr = ['๋ฐ”๋‚˜๋‚˜', '๋”ธ๊ธฐ', '์‚ฌ๊ณผ', 0];

let arrFruits1 = arr.map(function(item)) {
return item;
});
console.log(arrFruits1); //(4) ['๋ฐ”๋‚˜๋‚˜', '๋”ธ๊ธฐ', '์‚ฌ๊ณผ', 0];



ES6

let arrFruits2 = arr.map((item) => item);
console.log(arrFruits2); //(4) ['๋ฐ”๋‚˜๋‚˜', '๋”ธ๊ธฐ', '์‚ฌ๊ณผ', 0];


3. Template Literals(ํ…œํ”Œ๋ฆฟ ๋ฆฌํ„ฐ๋Ÿด)
๋ฌธ์ž์—ด ์—ฐ๊ฒฐ์„ ์œ„ํ•ด ๋”ํ•˜๊ธฐ(+) ์—ฐ์‚ฐ์ž ์‚ฌ์šฉํ•  ํ•„์š”๊ฐ€ ์—†๊ณ , ๋ฐฑํ‹ฑ(`) ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ž์—ด ๋‚ด์—์„œ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

ES5

function func() {
return '๋‚ด ์ด๋ฆ„์€ ' + name + ', ๋‚˜์ด๋Š” ' + age + '์ด๋‹ค.';
}
console.log(func('kea',29)); //๋‚ด ์ด๋ฆ„์€ kea์ด๊ณ  ๋‚˜์ด๋Š” 29์ด๋‹ค.


ES6

const func = (name, age) => {
return `๋‚ด ์ด๋ฆ„์€ ${name}, ๋‚˜์ด๋Š” ${age}์ด๋‹ค.`;
};
console.log(func('kea',29)); //๋‚ด ์ด๋ฆ„์€ kea์ด๊ณ  ๋‚˜์ด๋Š” 29์ด๋‹ค.



4. Default parameters(๊ธฐ๋ณธ ๋งค๊ฐœ ๋ณ€์ˆ˜)
๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋†“์น˜๋”๋ผ๊ณ , default ๊ฐ’์„ ์ง€์ •ํ•ด๋†“์œผ๋ฉด ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. 
๊ธฐ๋ณธ ํŒŒ๋ผ๋ฏธํ„ฐ ์ฒ˜๋ฆฌ๋ฅผ ํ•˜์—ฌ ์˜ค๋ฅ˜๋ฅผ ์‚ฌ์ „์— ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.

ES5

const func = (name, age) => {
return `๋‚ด ์ด๋ฆ„์€ ${name}, ๋‚˜์ด๋Š” ${age}์ด๋‹ค.`;
};
console.log(func('kea')); //๋‚ด ์ด๋ฆ„์€ kea, ๋‚˜์ด๋Š” undefined์ด๋‹ค.


ES6

const func = (name, age = 29) => {
return `๋‚ด ์ด๋ฆ„์€ ${name}, ๋‚˜์ด๋Š” ${age}์ด๋‹ค.`;
};
console.log(func('kea')); //๋‚ด ์ด๋ฆ„์€ kea, ๋‚˜์ด๋Š” 29์ด๋‹ค.



5.  Array and object destructing(๋ฐฐ์—ด ๋ฐ ๊ฐ์ฒด ๋น„๊ตฌ์กฐํ™”)
 ๋น„๊ตฌ์กฐํ™”๋ฅผ ํ†ตํ•ด ๋ฐฐ์—ด/๊ฐ์ฒด ๊ฐ’์„ ์ƒˆ ๋ณ€์ˆ˜์— ์‰ฝ๊ฒŒ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋‹ค.
 
ES5 

const contacts = {
familyName : 'k'
name : 'ea'
age : '29'
};

let familyName = contacts.familyName;
let name = contacts.name;
let age = contacts.age;



ES6

const contacts = {
familyName : 'k'
name : 'ea'
age : '29'
};

let {familyName, name, age} = contacts;
console.log(famillyName);
console.log(name);
console.log(age);


์ฐธ๊ณ 

๋ณ€์ˆ˜ ๋ช…์„ ๋ฐ”๊ฟ€ ์ˆ˜๋„ ์žˆ๋‹ค! name์— myName์œผ๋กœ ๋ณ€์ˆ˜๋ช… ์ฃผ๊ธฐ
let {familyName, name: myName, age} = contacts;

์˜ˆ์‹œ๋Š” ๊ฐ์ฒด์ด์ง€๋งŒ, ๋ฐฐ์—ด๋„ ๋™์ผํ•˜๋‹ค {}๋งŒ []๋กœ ๋ฐ”๊พธ๋ฉด ๋œ๋‹ค.