λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

πŸ‘©πŸ»‍πŸ’»STUDY/JavaScript

[JavaScript] return이 ν•˜λŠ” 일

λ°˜μ‘ν˜•
  • 값을 λ°˜ν™˜ν•˜λŠ”λ° μ‚¬μš©.
  • μ§€μ—­λ³€μˆ˜μ˜ 값을 μ•„λŠ”λ° μ‚¬μš©.
  • ν˜„μž¬ 진행쀑인 ν•¨μˆ˜λ₯Ό 쀑지(escape).

 

1. 값을 λ°˜ν™˜ν•˜λŠ”λ° μ‚¬μš© + 2. μ§€μ—­λ³€μˆ˜μ˜ 값을 μ•„λŠ”λ° μ‚¬μš©.

[예제1]

var test = function() {
  var x = 1;
}
test();
console.log(test()); // undefined

μœ„μ˜ ν•¨μˆ˜λŠ” μ‹€ν–‰λ˜μ§€ μ•ŠλŠ”λ‹€. λ‚΄λΆ€ ꡬ문듀을 μ‹€ν–‰(test())ν•˜μ˜€μœΌλ‚˜ λ°˜ν™˜ν•  값이 μ„ μ–Έλ˜μ§€ μ•Šμ•˜λ‹€.

xλ₯Ό μ–»κΈ° μœ„ν•΄μ„  return을 μ‚¬μš©ν•˜μ—¬ 값을 λ°˜ν™˜ν•΄μ•Ό ν•œλ‹€.

 

var test = function() {
  var x = 1;
  return x;
}
var test2 = test();
console.log(test2);

test() ν•¨μˆ˜λ₯Ό μ‹€ν–‰ν•  경우 ν•΄λ‹Ήν•¨μˆ˜λŠ” 1을 λ°˜ν™˜ν•œλ‹€. λ°˜ν™˜κ°’μ„ μ‚¬μš©ν•˜κΈ° μœ„ν•΄μ„œλŠ” λ³€μˆ˜κ°€ ν•„μš”ν•˜λ―€λ‘œ test2λΌλŠ” λ³€μˆ˜λ₯Ό μ„ μ–Έν•˜μ—¬ μ €μž₯ν•˜μ˜€λ‹€.

 

[예제2]

function plus(num1, num2) {
  var result = num1 + num2;
}
var total = plus(20,30);
console.log(total); // undefined

plus() ν•¨μˆ˜μ— μ„ μ–Έλœ λ³€μˆ˜ resultλŠ” μ§€μ—­λ³€μˆ˜μ΄λ‹€. ν•¨μˆ˜ λ‚΄μ—μ„œ μ„ μ–Έν•œ μ§€μ—­λ³€μˆ˜λŠ” κ·Έ ν•¨μˆ˜ λ‚΄μ—μ„œλ§Œ μ‚¬μš©μ΄ κ°€λŠ₯ν•˜λ―€λ‘œ 값을 λ°˜ν™˜ν•΄μ•Ό ν•œλ‹€.

 

function plus(num1, num2) {
  var result = num1 + num2;
  return result;
}
var total = plus(20,30);
console.log(total); // 50

 

 

3. ν•¨μˆ˜λ₯Ό 쀑지

var test = function() {
  var x = 1;
  if(x === 1) {
    return x;
  }
  x++;
}

쑰건에 좩쑱되면 λͺ¨λ‘ μ‹€ν–‰ν•  ν•„μš”κ°€ μ—†μœΌλ―€λ‘œ return을 μ‚¬μš©ν•˜μ—¬ ν•„μš”μ‘°κ±΄λ§Œ μ‚¬μš© ν›„ ν•¨μˆ˜μ— λΉ μ Έλ‚˜μ˜¬ 수 μžˆλ‹€.

λ³€μˆ˜κ°€ ν•„μš”ν•œ κ²½μš°μ— return ν•΄λ‹Ήλ³€μˆ˜λͺ… 으둜 μ‚¬μš©ν•˜κΈ°λ„ν•˜μ§€λ§Œ λ°˜ν™˜ν•  κ²½μš°κ°€ μ—†μœΌλ©΄

return false λ‚˜ return을 μ‚¬μš©ν•œλ‹€.

 

 


Reference

ν•¨μˆ˜μ˜ μ˜ˆμ•½μ–΄ Returnμ΄λž€?
λ°˜μ‘ν˜•