Front/JavaScript

[JavaScript] ํ•จ์ˆ˜

ddo04 2024. 8. 5. 01:53
728x90

โ€Š๐ŸŽฅโ€Š ํ•จ์ˆ˜

  • ํ•˜๋‚˜์˜ ๊ธฐ๋Šฅ์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ช…๋ น์ด ์‚ฌ์šฉ๋˜์—ˆ์„ ๋•Œ ํ•˜๋‚˜์˜ ๋ฉ์–ด๋ฆฌ๋กœ ๋ฌถ์€ ๋‹ค์Œ์— ์ด๋ฆ„์„ ๋ถ€์—ฌํ•œ ๊ฒƒ
  • ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋™์ž‘์„ ๋ฌถ์–ด๋†“์€ ๋ช…๋ น๋“ค

โ€Š๐ŸŽฅโ€Š ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์€ ์ 

  • ๊ฐ ๋ช…๋ น์˜ ์‹œ์ž‘๊ณผ ๋์„ ๋ช…ํ™•ํ•˜๊ฒŒ ๊ตฌ๋ณ„ํ•  ์ˆ˜ ์žˆ์Œ
  • ํ•จ์ˆ˜์— ๋ณ„๋„์˜ ์ด๋ฆ„์„ ๋ถ™์ด๋ฉด ๊ฐ™์€ ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•  ๋•Œ๋งˆ๋‹ค ํ•ด๋‹น ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Œ

โ€Š๐ŸŽฅโ€Š ํ•จ์ˆ˜ ์„ ์–ธ (ํ•จ์ˆ˜ ์ •์˜)

  • ํ•จ์ˆ˜๊ฐ€ ์–ด๋–ค ๋ช…๋ น์„ ์ฒ˜๋ฆฌํ•ด์•ผ ํ• ์ง€ ๋ฏธ๋ฆฌ ์•Œ๋ ค์ฃผ๋Š” ๊ฒƒ
  • function ์˜ˆ์•ฝ์–ด๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ณ , { } ์•ˆ์— ์‹คํ–‰ํ•  ๋ช…๋ น ์ž‘์„ฑ
function addNumber( ){
	var sum = 10 + 20;
    console.log(sum);
}

โ€Š๐ŸŽฅโ€Š ํ•จ์ˆ˜ ํ˜ธ์ถœ

  • ํ•จ์ˆ˜ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•ด ํ•จ์ˆ˜ ์‹คํ–‰
addNumber()
30

โ€Š๐ŸŽฅโ€Š ํ•จ์ˆ˜ ์œ„์น˜

  • ํ•จ์ˆ˜๋ฅผ ์„ ์–ธํ•ด ๋†“๊ธฐ๋งŒ ํ•˜๋ฉด, ์„ ์–ธํ•œ ์œ„์น˜์™€ ์ƒ๊ด€์—†์ด ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Œ
addNumber();

function addNumber( ){
...
}

///////////////////////////////////////////////////////////////////////////////////////////////

function addNUmber( ){
....
}

addNumber();

โ€Š๐ŸŽฅโ€Š let๊ณผ const

  • let, const - ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๋Š” ์˜ˆ์•ฝ์–ด
  • let => ํ”„๋กœ๊ทธ๋žจ ์•ˆ์—์„œ ๊ฐ’์ด ๋ณ€ํ•˜๋Š” ๋ณ€์ˆ˜
  • const => ํ”„๋กœ๊ทธ๋žจ ์•ˆ์—์„œ ๊ฐ’์ด ๋ณ€ํ•˜์ง€ ์•Š๋Š” ๋ณ€์ˆ˜
  • var ๋ณ€์ˆ˜์˜ ์Šค์ฝ”ํ”„(scope) 
    • ๋ณ€์ˆ˜์˜ ์Šค์ฝ”ํ”„ => let ๋ณ€์ˆ˜์™€ const ๋ณ€์ˆ˜๋Š” ๋ธ”๋ก ์˜์—ญ์˜ ์Šค์ฝ”ํ”„
    • ๋ณ€์ˆ˜ ์ด๋ฆ„ ์•ž์— var๋ฅผ ๋ถ™์ด๋ฉด ์ง€์—ญ ๋ณ€์ˆ˜ => ํ•จ์ˆ˜ ์•ˆ์—์„œ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ•จ์ˆ˜
    • var๊ฐ€ ์—†์œผ๋ฉด ์ „์—ญ ๋ณ€์ˆ˜ => ํ”„๋กœ๊ทธ๋žจ ์ „์ฒด์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ณ€์ˆ˜ 
    • function calcSum(n){ let sum = 0; for (let i = 1; i < n + 1; i++){ sum += i; } console.log(sum); } calcSum(10);
  • var ๋ณ€์ˆ˜์˜ ํ˜ธ์ด์ŠคํŒ…
    • ํ˜ธ์ด์ŠคํŒ… ์—†์Œ => ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜์ง€ ์•Š๊ณ  ์‚ฌ์šฉํ•˜๋ฉด ์˜ค๋ฅ˜ ๋ฐœ์ƒ
    • ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๊ธฐ ์ „์— ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ–ˆ์„ ๋•Œ ๋ณ€์ˆ˜ ์„ ์–ธ์ด ์•ž์— ์žˆ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋Œ์–ด์˜ฌ๋ ค์„œ ์ธ์‹ํ•˜๋Š” ๊ฒƒ
    • ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๊ธฐ ์ „์— ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด?
      • ์˜ค๋ฅ˜๊ฐ€ ์ƒ๊ธฐ์ง€ ์•Š๋Š”๋‹ค
      • ๋ณ€์ˆ˜ ์„ ์–ธ์ด ์•ž์— ์žˆ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋Œ์–ด์˜ฌ๋ ค ์ธ์‹ํ•œ๋‹ค

 

var x = 100;

test();

function test(){
	document.write("x is " + x + ", y is" + y);
    var y = 200;
}
  • var ๋ณ€์ˆ˜์˜ ์žฌ์„ ์–ธ
    • ๋ณ€์ˆ˜์˜ ์žฌ์„ ์–ธ ๋ถˆ๊ฐ€ => ๊ฐ™์€ ๋ณ€์ˆ˜๋ฅผ ๋‹ค์‹œ ์„ ์–ธํ•˜๋ฉด ์˜ค๋ฅ˜ ๋ฐœ์ƒ
    • ์ด๋ฏธ ์žˆ๋Š” ๋ณ€์ˆ˜๋ฅผ ๋‹ค์‹œ ์„ ์–ธํ•  ์ˆ˜ ์žˆ์Œ
      • ์‹ค์ˆ˜๋กœ ์„œ๋กœ ๋‹ค๋ฅธ ์œ„์น˜์—์„œ ๊ฐ™์€ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์€ ๋ฌธ์ œ
      • ์žฌ์„ ์–ธํ•˜๋ฉด ์ด์ „ ๋ณ€์ˆ˜๋ฅผ ๋ฎ์–ด์“ฐ๊ธฐ ๋•Œ๋ฌธ์— ์˜ˆ์ƒํ•˜์ง€ ๋ชปํ•œ ์˜ค๋ฅ˜๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ์Œ 

โ€Š๐ŸŽฅโ€Š ๋ณ€์ˆ˜ ์‚ฌ์šฉ๋ฒ•

  • ์ „์—ญ ๋ณ€์ˆ˜๋Š” ์ตœ์†Œํ•œ์œผ๋กœ ์‚ฌ์šฉ
  • var ๋ณ€์ˆ˜๋Š” ํ•จ์ˆ˜์˜ ์‹œ์ž‘ ๋ถ€๋ถ„์—์„œ ์„ ์–ธ (ํ˜ธ์ด์ŠคํŒ… ๋ฐฉ์ง€)
  • for๋ฌธ์˜ ์นด์šดํ„ฐ ๋ณ€์ˆ˜๋Š” ๋ธ”๋ก ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๊ฒŒ ์ข‹์Œ
  • ES6์„ ์‚ฌ์šฉํ•œ ํ”„๋กœ๊ทธ๋žจ์ด๋ผ๋ฉด var๋ณด๋‹ค let ์‚ฌ์šฉ

โ€Š๐ŸŽฅโ€Š ๋งค๊ฐœ๋ณ€์ˆ˜ (parameter)

  • ํ•จ์ˆ˜๋ฅผ ์„ ์–ธํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•˜๋‹ค๊ณ  ์ง€์ •ํ•˜๋Š” ๊ฐ’
  • ํ•จ์ˆ˜๋ฅผ ์„ ์–ธํ•  ๋•Œ ํ•จ์ˆ˜ ์ด๋ฆ„ ์˜†์˜ ๊ด„ํ˜ธ ์•ˆ์— ๋งค๊ฐœ๋ณ€์ˆ˜ ์ด๋ฆ„์„ ๋„ฃ์Œ
function addNumber(a, b){
	var sum = a + b;
    console.log(sum);
}

โ€Š๐ŸŽฅโ€Š ์ธ์ˆ˜ (argument)

  • ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•˜๋‹ค๊ณ  ์ง€์ •ํ•˜๋Š” ๊ฐ’
  • ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋„˜๊ฒจ์ฃผ๋Š” ๊ฐ’
addNumber(2,3);
addNumber(10, 20);

โ€Š๐ŸŽฅโ€Š return ๋ฌธ

  • ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•œ ๊ฒฐ๊ณผ๊ฐ’์„ ํ•จ์ˆ˜ ๋ฐ–์œผ๋กœ ๋„˜๊ธฐ๋Š” ๋ฌธ
  • ๋ฐ˜ํ™˜๋œ ๊ฐ’์€ ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•œ ์†Œ์Šค ์œ„์น˜๋กœ ๋„˜๊ฒจ์ง
var num1 = parseInt(prompt("์ฒซ ๋ฒˆ์งธ ์ˆซ์ž๋Š”?"));
var num2 = parseInt(prompt("๋‘ ๋ฒˆ์งธ ์ˆซ์ž๋Š”?"));
var result = addNumber(num1, num2);
alert("๋‘ ์ˆ˜๋ฅผ ๋”ํ•œ ๊ฐ’์€ " + result + "์ž…๋‹ˆ๋‹ค");

function addNumber(a, b){
	var sum = a + b;
    return sum;
}
  1. num1 ๋ณ€์ˆ˜์™€ num2 ๋ณ€์ˆ˜์— ๊ฐ’์„ ์ €์žฅ
  2. num1 ๊ณผ num2 ๊ฐ’์„ ๊ฐ€์ง€๊ณ  addNumber( ) ํ•จ์ˆ˜ ํ˜ธ์ถœ
  3. ํ•จ์ˆ˜ ์„ ์–ธ๋ถ€๋กœ ๋„˜์–ด์™€ ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•˜๋Š”๋ฐ, num1 ๊ฐ’์€ a ๋ณ€์ˆ˜๋กœ, num2 ๊ฐ’์€ b ๋ณ€์ˆ˜๋กœ ๋„˜๊ฒจ์ง
  4. a ๊ฐ’๊ณผ b ๊ฐ’์„ ๋”ํ•˜์—ฌ sum ๋ณ€์ˆ˜์— ์ €์žฅ
  5. ๊ฒฐ๊ณผ๊ฐ’ sum์„ ๋ฐ˜ํ™˜
  6. ๋ฐ˜ํ™˜๋œ ๊ฐ’์„ ๋ณ€์ˆ˜ result์— ์ €์žฅ
  7. result ๋ณ€์ˆ˜๊ฐ’์„ ํ™”๋ฉด์— ํ‘œ์‹œ

'Front > JavaScript' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[JavaScript] ๊ฐ์ฒด  (0) 2024.08.05
[JavaScript] ์ด๋ฒคํŠธ  (0) 2024.08.05
[JavaScript] ์ œ์–ด๋ฌธ  (0) 2024.08.05
[JavaScript] ์—ฐ์‚ฐ์ž  (0) 2024.08.04
[JavaScript] ์ž๋ฃŒํ˜•  (0) 2024.08.04