ES6๋ ํ์ดํ ํจ์๋ฅผ ๋์ ํ๋ค.
๐คทโ๏ธ ํ์ดํ ํจ์๋ฅผ ์ฐ๋ ค๋ฉด?
{foodILike.map(function (dish) {
return (
<Food name={dish.name} picture={dish.image} rating={dish.rating} />
);
})}
{foodILike.map((dish) => (
<Food name={dish.name} picture={dish.image} rating={dish.rating} />
))}
ํ์ดํ ํจ์๋ก ๋ฐ๊พธ๋ ค๋ฉด function
์์ฝ์ด๋ฅผ ์ง์ฐ๊ณ =>
๋ก ๋ฐ๊ฟ์ค๋ค.
์ธ์๊ฐ ํ๋์ผ ๊ฒฝ์ฐ์๋ ๊ดํธ (dish๋ฅผ ๊ฐ์ธ๊ณ ์๋ ๊ดํธ)๋ฅผ ์ฐ์ง ์์๋ ๋์ง๋ง... ์ด๊ฑด ๊ฐ์ธ์ ์ฝ๋ฉ ์คํ์ผ์ด๋ผ๊ณ ํ๋ค.
๊ทผ๋ฐ VSC๋ ์๋์ผ๋ก ๋ถ์ฌ์ฃผ๋๋ฐ ๋ชจ๋ฅด๊ฒ ๋ค ์ข๋ ์จ๋ด์ผ ์๋ฏ^^;
๊ทธ๋ฆฌ๊ณ ํ์ดํ ํจ์๋ ์์์ ๋ฐํ์ ํ ์ ์๋๋ฐ, ๊ทธ๋์ return ์์ฝ์ด๊ฐ ํ์ํ์ง ์์
๐คทโ๏ธ ํ์ดํ ํจ์์์ ๊ดํธ๋...?
sub = () => {
this.setState((current) => ({ count: current.count - 1 }));
//this.setState( current => {return current.count += 1});
};
์ฃผ์์ฒ๋ฆฌ๋์ง ์์ ๋ถ๋ถ์ returnํด์ฃผ๋ ๋ถ๋ถ์ ( )๊ฐ ์๊ณ ,
๋ฐ์๋ ๊ดํธ ์์ด ๋ฐ๋ก { }๊ฐ ๋ฆฌํด๋๊ณ ์๋ค! ๋๋ง ํท๊ฐ๋ฆฐ๊ฒ ์๋๊ณ ์ง๋ฌธ์ ํด๋ ์ฌ๋์ด ์์ด์ ๋ต๋ณ์ ์ฐธ๊ณ ํด์ ์ ๋ฆฌํ๋ค.
ํ์ดํ ํจ์๋ฅผ ํตํด ํจ์๋ฅผ ๋ํ๋ธ ๊ฒฝ์ฐ ( ) => { }
ํ์์ ๊ฐ์ง๋๋ฐ, { } ์ด ๋ถ๋ถ์ด returnํ ๋์์ผ๋ก ํํ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
๊ทผ๋ฐ ์์ค์ ๋ณด๋ฉด { count : current.count - 1 } ์ด๊ฒ ๊ฐ์ฒด์ธ์ง, ์๋๋ฉด ๋ฆฌํด์ ํด์ผํ๋๊ฑด์ง ํ์ดํ๊ฐ ํท๊ฐ๋ฆฌ๋๊ฑฐ๋ค!
๊ทธ๋์ ์ด๊ฑธ ๊ตฌ๋ถํ๊ธฐ ์ํด ๊ฐ์ฒด
๋ฅผ ๋ฐํํ๋ ๊ฒฝ์ฐ์๋ ( { } )
์ด๋ ๊ฒ ๊ฐ์ธ์ ์ฌ์ฉํ๋ค๊ณ ํ๋ค.
์ฃผ์์ฒ๋ฆฌ ๋ ๋ถ๋ถ์์๋ { }์์ return์ด ์์ผ๋ ์ ๋ฆฌํด์ด ๋ ๊ฒ์ด๋ค!
์๊ทธ๋ฆฌ๊ณ ์ฐพ๋ค๊ฐ ๋ ๋ฐ๊ฒฌํ๊ฑด๋ฐ,
์์์ ๋ฐํ์ ์ฌ์ฉํ ๋, ์ค๊ดํธ๊ฐ ํจ์ ๋ณธ๋ฌธ์ ์ฌ๋ ๊ฒ์ผ๋ก ์ค์ธ๋์ง ์๋๋ก ๊ฐ์ฒด ๋ฆฌํฐ๋ด์ ๊ดํธ๋ก ๋ฌถ์ด์ผ ํฉ๋๋ค <-๋ผ๋ ๊ธ๋ ๋ด
์์ด์ฌ์ ๊ตฌ๊ธ์ด ์ ๋๋ก ๋ฒ์ญ์ ํ๋์ง ๋ชจ๋ฅด๊ฒ ๋ค๐ค
๐คทโ๏ธ ์ธ์ ์์ด๋ ํ์ดํ ํจ์๋ฅผ ์ธ ์ ์๋ค๋๋ฐ?
const example = names.map( () => `wow` );
์ธ์ ์์ด ํ์ดํ ํจ์๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ๊ทธ๋ฅ ๋น ๊ดํธ๋ก ๋ฌ๋ ๋๋ค.
๋น ๊ดํธ๊ฐ ๋ง์ ์๋ค๋ฉด ์๋ฌด๊ฑฐ๋ ์จ๋ ๋๋ค. ์ด๋ฐ๊ฑธ ์ฌ์ฉ ํ ๋ฒ๋ฆฌ๋ ๋ณ์(throwaway variable)
์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค...๐ฅบ
๋ฆฌ์กํธ ํ๋ฉด์ ๋ง๋ ์น๊ตฐ๋ฐ ์ต์ํด์ง๋ ค๋ฉด ๋ง์ด ์จ๋ด์ผ๊ฒ ๋ค๐
๐ ๊ฐ์ด ๋ณด๋ฉด ์ข์์ง๋ ๋ชจ๋ฅด๋ ๊ธ
[JavaScript] ํ์ดํํจ์ vs ์ผ๋ฐํจ์
์ฐธ๊ณ )
https://ui.toast.com/weekly-pick/ko_20160912
์ธ๊ฐ์ ๋ฌ๋ฆฐ ๋๊ธ๋ค
'๐๊ณต๋ถ > JS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JavaScript] IIFE(Immediately Invoked Function Expression) (0) | 2021.09.15 |
---|---|
[JavaScript] ์ด๋ฒคํธ ๋ฃจํ (0) | 2021.08.14 |
[JavaScript] Arrow function vs Function (0) | 2021.07.28 |
[JavaScript] innerText vs innerHTML (0) | 2020.11.06 |
[JavaScript] image ๊ฐ์ฒด (0) | 2020.11.06 |
๋๊ธ