본문 바로가기

javascript/Basic

TIL no.27 - return 의 사용 : JavaScript

모든 함수는 반환(return)을 합니다.

 

 

return 함수

 

함수는 항상 데이터를 반환하기 때문에 그 결과를 변수에 저장할 수도 있고,

다른 로직에 다시 사용할 수도 있습니다.

 

덧붙이자면, 모든 함수가 return을 포함해야 하는 건 아닙니다. 함수 내부에 return 키워드를 생략할 수도 있습니다. 하지만 이 경우에도 함수는 무언가를 반환하고 있습니다.

 

함수가 반환을 생략하면 undefined라는 값을 반환합니다.

 

그리고 함수에서 return 문이 실행되면 반복문의 break 문과 비슷하게 코드가 강제로 종료됩니다.

한마디로 return 문은 데이터 결과값을 반환합니다.

 

function getName(name) {
  return name + '님';
}

코드 블럭 12번째 줄, getName() 함수를 보겠습니다.

정의된 함수의 소괄호 내부에 지금까지와는 달리 'name'이라는 단어가 들어 있습니다.

 

name의 인자를 받는 친구.

 

이처럼 함수 이름 옆 소괄호 자리에 적혀 있는 단어는 매개변수, parameter라고 부릅니다.

외부로부터 들어오는 값을 담아 함수 내부에서 사용하도록 하는 변수의 역할 을 합니다.

 

let result1 = getName('개발자');

console.log(result1);
// 콘솔에 '개발자님'이 출력됩니다.

 

'개발자'와 같은 실질적인 값 argument(인자)라고 합니다.

 

위와 같이 서로 다른 type인

String + Number를 시도할 때는 항상 주의해야 합니다.

String과 Number형을 더하면 항상 String 형으로 변환됩니다.

 


 매개변수(parameter)와 인자(argument)

 

* 매개변수

함수를 정의하면서, 함수 선언식의 괄호'()'안에 어떤 변수명을 쓰면, 우리는 그걸 매개변수 라고 부릅니다. 매개변수는 그 이름처럼 실제로 함수 안쪽에서 변수와 같은 역할을 하게 됩니다.

함수가 호출될 때, 값을 전달받게 되면, 매개변수에 값이 정의됩니다.

 

 

typeOf 로 어떤 type인지 알아볼 때, array는 없다 array는 확장된 객체이기 때문에

배열의 type을 확인해보면 object입니다.

 

null은 말그대로 아무것도 아닌 빈 객체를 가리고 있어서 object라고 나옵니다.

 

boolean

boolean 타입에는 두 가지 값이 있습니다. true, false 입니다.

 

다른 데이터 타입이 boolean으로 변환되는 경우가 여러 개 있습니다.

 

true로 변환되는 값

  • 문자열: 비어 있지 않은 모든 문자열

  • 숫자: 0이 아닌 모든 숫자

  • 객체: 모든 객체 ({}, [] 모두 포함)

 

false로 변환되는 값

  • 문자열: "" (빈문자열)

  • 숫자: 0, NaN

  • 객체: null

  • undefined

if 조건문은 조건식 true/false로 판단하고 if문을 실행합니다.

let favoriteNum = 3;
if (favoriteNum === 3) {  //favoriteNum === 3 이 true이면
  // 실행
}
let name = "choihaneul";
if (name) {
  // 실행
}

해당 if 문은 비교나 검사할 조건 없이 name만 들어가 있습니다.

 

그런데 자바스크립트에서 문자열은 "" 제외하고 모두 true를 반환합니다.

따라서 저 위의 (name) 부분은 true가 되고, if문이 실행됩니다.

 

아래의 if문은 숫자 0이 false로 변환되는 예시입니다. if문이 실행되지 않습니다.

 

let number = 0;
if (number) {
  // 실행 안됨
}