TIL 10 - ν•¨μˆ˜

crystaleeΒ·2021λ…„ 6μ›” 23일
0

JavaScript

λͺ©λ‘ 보기
5/15
post-thumbnail

πŸ‘‰ ν•¨μˆ˜

슀크립트λ₯Ό μž‘μ„±ν•˜λ‹€ 보면 μœ μ‚¬ν•œ λ™μž‘μ„ ν•˜λŠ” μ½”λ“œκ°€ μ—¬λŸ¬ κ³³μ—μ„œ ν•„μš”ν•  λ•Œκ°€ λ§Žλ‹€.
μ‚¬μš©μžκ°€ λ‘œκ·ΈμΈμ΄λ‚˜ λ‘œκ·Έμ•„μ›ƒμ„ ν–ˆμ„ λ•Œ μ•ˆλ‚΄ λ©”μ‹œμ§€λ₯Ό λ³΄μ—¬μ£ΌλŠ” λ™μž‘ 같은 κ²½μš°κ°€ μžˆλŠ”λ°
ν•¨μˆ˜λŠ” ν”„λ‘œκ·Έλž¨μ„ κ΅¬μ„±ν•˜λŠ” μ£Όμš” 'ꡬ성 μš”μ†Œ(building block)'이닀. ν•¨μˆ˜λ₯Ό μ΄μš©ν•˜λ©΄ 쀑볡 없이 μœ μ‚¬ν•œ λ™μž‘μ„ ν•˜λŠ” μ½”λ“œλ₯Ό μ—¬λŸ¬ 번 ν˜ΈμΆœν•  수 μžˆλ‹€.

✍️ ν•¨μˆ˜ μ„ μ–Έ

function name(parameter){
  ν•¨μˆ˜ λ³Έλ¬Έ
} 

ν•¨μˆ˜ ν‘œν˜„μ‹ vs ν•¨μˆ˜ μ„ μ–Έλ¬Έ

ν•¨μˆ˜ μ„ μ–Έλ¬Έ : ν•¨μˆ˜λŠ” μ£Όμš” μ½”λ“œ 흐름 쀑간에 λ…μžμ μΈ ꡬ문 ν˜•νƒœλ‘œ μ‘΄μž¬ν•œλ‹€.
(μ½”λ“œ 블둝이 μ‹€ν–‰λ˜κΈ°λ„ 전에 μ²˜λ¦¬λ˜μ–΄ 블둝 λ‚΄ μ–΄λ””μ„œλ“  ν™œμš© κ°€λŠ₯ν•˜λ‹€.)

function name(a,b){
  return a + b;
} 

ν•¨μˆ˜ ν‘œν˜„μ‹ : ν‘œν˜„μ‹μ΄λ‚˜ ꡬ문 ꡬ성 내뢀에 μƒμ„±λ©λ‹ˆλ‹€.
(μ‹€ν–‰ 흐름이 ν‘œν˜„μ‹μ— λ‹€λ‹€λžμ„ λ•Œ λ§Œλ“€μ–΄μ§„λ‹€.)

let sum = function(a,b){
  return a + b;
} 

ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•˜λŠ” 방법 μ˜ˆμ‹œ

function sayhello(nameOfPerson, age){
  
  console.log('Hello my name is' +  nameOfPerson + 'and I`m' + age );

} //μ€‘κ΄„ν˜Έ μ•ˆμ— λ“€μ–΄κ°€λŠ” 것듀이 μ‹€ν–‰λ²„νŠΌ(sayhello)λ₯Ό λˆ„λ₯Ό λ•Œλ§ˆλ‹€ λ°œμƒν•œλ‹€.

sayhello('su',10); //Hello my name is su and I`m 10

sayhello('jeong',20);//Hello my name is jeong and I`m 20

sayhello('lee',30);//Hello my name is lee and I`m 30

지역 λ³€μˆ˜

ν•¨μˆ˜ λ‚΄μ—μ„œ μ„ μ–Έν•œ λ³€μˆ˜μΈ 지역 λ³€μˆ˜λŠ” ν•¨μˆ˜ μ•ˆμ—μ„œλ§Œ μ ‘κ·Ό κ°€λŠ₯ν•˜λ‹€.

function showMessage(){
  
  let message = 'hi'//지역 λ³€μˆ˜
  
  alert(message);
  
}
showMessage(); //hi

alert(message); //error : messageλŠ” ν•¨μˆ˜ λ‚΄ 지역 λ³€μˆ˜μ΄κΈ° λ•Œλ¬Έμ— μ—λŸ¬κ°€ λ°œμƒν•œλ‹€.

μ™ΈλΆ€ λ³€μˆ˜

ν•¨μˆ˜ λ‚΄λΆ€μ—μ„œ ν•¨μˆ˜ μ™ΈλΆ€μ˜ λ³€μˆ˜μΈ μ™ΈλΆ€λ³€μˆ˜μ— μ ‘κ·Ό κ°€λŠ₯ν•˜λ‹€.

let userName = 'su';

function showMessage(){
  
  let message = 'hi,' + userName//지역 λ³€μˆ˜ 
  alert(message);
  
}
showMessage(); //hi, su

ν•¨μˆ˜μ—μ„œ μ™ΈλΆ€ λ³€μˆ˜ μˆ˜μ •ν•˜λŠ” 방법

let userName = 'su';

function showMessage(){
  
  userName = 'jeong';// 1. μ™ΈλΆ€λ³€μˆ˜λ₯Ό μˆ˜μ •
  
  let message = 'hi,' + userName 
  alert(message);
  
}
alert(userName);//ν•¨μˆ˜ 호좜 μ „μ΄λ―€λ‘œ suκ°€ 좜λ ₯λœλ‹€.

showMessage(); 

alert(userName);//ν•¨μˆ˜μ— μ˜ν•΄ jeong둜 값이 λ°”λ€Œμ—ˆλ‹€.

✍️ retrun

ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν–ˆμ„ λ•Œ ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•œ 곳에 νŠΉμ • 값을 λ°˜ν™˜ν•˜κ²Œ ν•  수 μžˆλ‹€.

예제

const age = 96;

function calculateKrAge(ageOfForeigner){
  
 ageOfForeigner + 2;
  
}
const krAge = calculateKrAge(age);
console.log(krAge);

πŸ‘‰ undefined

return을 μ μš©ν–ˆμ„ λ•Œ

const age = 96;

function calculateKrAge(ageOfForeigner){
  
 return ageOfForeigner + 2; //ν•¨μˆ˜μ— 'return'을 μ‚¬μš©ν•˜λ©΄ ν•¨μˆ˜λ₯Ό μ‹€ν–‰ν•  λ•Œ 
calculateKrAge(age); 이 뢀뢄을 λŒ€μ²΄ν•œλ‹€.
  
}
const krAge = calculateKrAge(age);
console.log(krAge);

πŸ‘‰ 98

'return'을 ν•˜λ©΄ 계산을 λ‹΄λ‹Ήν•˜λŠ” ν•¨μˆ˜μ˜ μ½”λ“œλŠ” κ·Έ ν•¨μˆ˜κ°€ returnν•˜λŠ” κ°’κ³Ό 같아진닀.

const calculator = {
   
   plus : function(a,b){
   return  a+b;  
  }
}
const plusResult = calculator.plus(2,3);
console.log(plusResult);

πŸ‘‰ 5

κ·œμΉ™μ— μ˜ν•΄μ„œ

const plusResult (variable) = calculator.plus(2,3);(return value)
πŸ‘‰ variable에 ν•¨μˆ˜λ₯Ό ν• λ‹Ήν•˜λ©΄ 이 variable은 ν•¨μˆ˜μ˜ return valueλ₯Ό κ°€μ§€κ²Œ λœλ‹€
❗️ ν•œλ²ˆ returnν•˜λ©΄ function은 λλ‚œλ‹€.❗️ πŸ‘‰ return을 ν•˜λ©΄, function은 μž‘λ™μ„ λ©ˆμΆ”κ³  κ²°κ³Ό 값을 returν•˜κ³  λλ‚˜λ²„λ¦°λ‹€.

const calculator = {
   
 plus : function(a,b){
   
   console.log("hello"); // 이 뢀뢄은 μ μš©λœλ‹€. 
   return  a+b; 
   console.log("hi"); // retur을 μ‚¬μš©ν•΄ μ½”λ“œκ°€ μ’…λ£Œλ˜μ—ˆκΈ° λ•Œλ¬Έμ— μ½”λ“œλŠ” μ ˆλŒ€ 적용
   λ˜μ§€ μ•ŠλŠ”λ‹€.
 
 }
}

✍️ 인자

인자(argument)λŠ” ν•¨μˆ˜λ‘œ μœ μž…λ˜λŠ” μž…λ ₯ 값을 μ˜λ―Έν•˜λŠ”λ°, μ–΄λ–€ 값을 인자둜 μ „λ‹¬ν•˜λŠλƒμ— λ”°λΌμ„œ ν•¨μˆ˜κ°€ λ°˜ν™˜ν•˜λŠ” κ°’μ΄λ‚˜ λ©”μ†Œλ“œμ˜ λ™μž‘ 방법을 λ‹€λ₯΄κ²Œ ν•  μˆ˜μžˆλ‹€.

function calculator(arg) {
   
   return  arg; 

}
alert(calculator(1));// calculator(arg)둜 1μ΄λΌλŠ” 값을 μ „λ‹¬ν•˜κ² λ‹€λŠ” 의미. 

alert(calculator(2));// calculator(arg)둜 2λΌλŠ” 값을 μ „λ‹¬ν•˜κ² λ‹€λŠ” 의미. 

πŸ‘‰1,2

볡수의 인자

function calculator(arg1,arg2) {
   
   return  arg1 + arg2; 

}
alert(calculator(10, 20));// 30 

alert(calculator(20, 30));// 50 

β—οΈλ§ˆμΉ˜λ©°β—οΈ

ν•¨μˆ˜λŠ” return νŒŒνŠΈκ°€ ꡉμž₯히 λ³΅μž‘ν•˜κ³  μ–΄λ ΅μ› λ‹€πŸ˜’
κ·Έλž˜λ„ 예제λ₯Ό ν™œμš©ν•΄μ„œ 계속 κ³΅λΆ€ν•˜λ‹ˆ μ΄μ œλŠ” 쑰금 이해가 λ˜μ—ˆλŠ”λ° κ·Έλž˜λ„ 아직 ν—·κ°ˆλ¦¬λŠ”κ±΄ λ§ˆμ°¬κ°€μ§€μ΄λ‹€. 이 뢀뢄도 반볡 ν•™μŠ΅λΏμ΄ 닡인 것 κ°™λ‹€..πŸ₯²

profile
코린이 μ„±μž₯일기

0개의 λŒ“κΈ€