header-img
Info :
728x90

์ผ๋ฐ˜ function ์‚ฌ์šฉ ๋ฌธ๋ฒ•

// 1
function ํ•จ์ˆ˜์ด๋ฆ„(){
	// ๊ธฐ๋Šฅ
}

// 2
var ํ•จ์ˆ˜์ด๋ฆ„ = function(){
	// ๊ธฐ๋Šฅ
}

Arrow Function ์‚ฌ์šฉ ๋ฌธ๋ฒ•

var ํ•จ์ˆ˜์ด๋ฆ„ = () => {
	// ๊ธฐ๋Šฅ
}

์™œ ์“ฐ๋Š” ๊ฑธ๊นŒ?

= ์ด๊ฑธ ์•Œ๋ฉด ์–ธ์ œ ์“ฐ๋ฉด ์ข‹์„์ง€๊ฐ€ ๋‚˜์˜จ๋‹ค.

 

1. ํ•จ์ˆ˜ ๋ณธ์—ฐ์˜ ๊ธฐ๋Šฅ์„ ์•„์ฃผ ์ž˜ ํ‘œํ˜„ํ•ด์ฃผ๋Š” ๋ฌธ๋ฒ•

 

์šฐ์„  function์€ ์–ธ์ œ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜๋Š”๊ฐ€..์— ๋Œ€ํ•ด ์ƒ๊ฐํ•ด๋ณด๋ฉด

1) ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๊ธฐ๋Šฅ์„ ํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ํ•œ ๋‹จ์–ด๋กœ ๋ฌถ๊ณ  ์‹ถ์„ ๋•Œ. (์ดํ›„ ์žฌ์‚ฌ์šฉ๋„ ๊ณ ๋ ค..) 2) ์ž…์ถœ๋ ฅ๊ธฐ๋Šฅ์„ ๋งŒ๋“ค ๋•Œ

 

var ๋‘๋ฐฐ๋งŒ๋“ค๊ธฐ = (x) => {return x * 2 }

console.log( ๋‘๋ฐฐ๋งŒ๋“ค๊ธฐ(4) );
console.log( ๋‘๋ฐฐ๋งŒ๋“ค๊ธฐ(8) );

์ด๋Ÿฐ ์‹์œผ๋กœ ์‚ฌ์šฉํ•˜๋ฉด ์ง๊ด€์ ์œผ๋กœ ๋ณด๊ธฐ๊ฐ€ ํŽธํ•ด์ง„๋‹ค. ์ดํ•ดํ•˜๊ธฐ๊ฐ€ ์‰ฌ์›Œ์ง„๋‹ค๋Š” ์˜๋ฏธ.

 

2. ์†Œ๊ด„ํ˜ธ ์ƒ๋žต์ด ๊ฐ€๋Šฅํ•ด์ง„๋‹ค.

ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ํ•˜๋‚˜์ผ ๋•Œ๋Š” ์†Œ๊ด„ํ˜ธ ์ƒ๋žต์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

var ๋‘๋ฐฐ๋งŒ๋“ค๊ธฐ = x => { return x*2 }

console.log( ๋‘๋ฐฐ๋งŒ๋“ค๊ธฐ(4) );
console.log( ๋‘๋ฐฐ๋งŒ๋“ค๊ธฐ(8) );

 

3. ์ค‘๊ด„ํ˜ธ๋„ ์ƒ๋žต์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

์ค‘๊ด„ํ˜ธ์— return ํ•œ์ค„ ๋ฟ์ผ ๊ฒฝ์šฐ ์ค‘๊ด„ํ˜ธ์™€ return๋„ ์ƒ๋žต์ด ๊ฐ€๋Šฅํ•ด์ง„๋‹ค.

var ๋‘๋ฐฐ๋งŒ๋“ค๊ธฐ = x => x * 2 ;

console.log( ๋‘๋ฐฐ๋งŒ๋“ค๊ธฐ(4) );
console.log( ๋‘๋ฐฐ๋งŒ๋“ค๊ธฐ(8) );

 

4. function ๋‚ด๋ถ€์—์„œ this ์‚ฌ์šฉ ์‹œ ์™ธ๋ถ€(๋ฐ–)์— ์žˆ๋˜ this ๊ฐ’์„ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•จ. (ํ•ต์‹ฌ)

this ๋Š” ํ•จ์ˆ˜๊ฐ€ ์“ฐ์ธ ์œ„์น˜์— ๋”ฐ๋ผ ๋‚ด๋ถ€์˜ this ๊ฐ’์ด ๋ณ€ํ•œ๋‹ค.

arrow function์€ ์–ด๋””์„œ ์“ฐ๋˜ ๊ฐ„์— ๋‚ด๋ถ€์˜ this ๊ฐ’์„ ๋ณ€ํ™”์‹œํ‚ค์ง€ ์•Š์Œ.

var ์˜ค๋ธŒ์ ํŠธ1 = {
	ํ•จ์ˆ˜: () => {console.log(this)}
}

์˜ค๋ธŒ์ ํŠธ1.ํ•จ์ˆ˜()

๋ฐ–์˜ this๋ฅผ ํ˜ธ์ถœํ•˜๋ฏ€๋กœ window๊ฐ€ ๋œธ.

 

 

์ผ๋ฐ˜ function์„ ๋Œ€์ฒดํ•˜๋Š” ๋ฌธ๋ฒ•์ด ์•„๋‹ˆ๋ผ.

์šฉ๋„์— ๋งž๊ฒŒ ์‚ฌ์šฉํ•˜๋Š”๊ฒŒ ํ•ต์‹ฌ์ž„.

728x90
๋”๋ณด๊ธฐ
FRONTEND/React