함수의 리턴여부에 따른 기능

Creating the dots·2021년 6월 16일
0

Javascript

목록 보기
2/24

변수 선언방식

두 개 이상의 변수를 연달아 선언할 때

let thing = '두루마리 휴지',
num = 3;

임의의 값을 입력받아 수(number)의 형태로 리턴하기

function convertToNumber(anything){
  return parseFloat(anything);
}
function convertToNumber(anything){
    return Number(anything);
}

문자열을 인자로 받아서 느낌표를 붙여서 리턴해주는 함수 returnWordWithJoy

함수 returnWordWithJoy의 첫 번째 인자로 문자열 "I love coding"을 넣어서 호출하고, 그 결과값을 변수 word에 할당하세요

let word = returnWordWithJoy("I love coding");

function returnWordWithJoy(word){
	
    if(typeof word !== 'string')
    {
    	return 'wrong type'
    }
    else
    {
    	return word+'!'
    }


}
let word = "I love coding";

function returnWordWithJoy(word)
{
  if (typeof word !== 'string') 
  {
    return 'wrong type';
  } 
  else 
  {
    return word + '!';
  }
  
}

첫 번째 경우는 함수에 문자열 "I love coding"을 넣어서 호출한 결과값을 word에 할당한 것이 맞다. 하지만, 두 번째 경우는 변수 word에 문자열이 먼저 할당이 되었고, 그 문자열이 함수에 전달인자로 입력되면, 출력되는 값은 "I love coding!"이 맞지만, word를 다시 출력해보면 여전히 "I love coding"이 출력되는 것을 확인할 수 있다.

word는 먼저 전역변수로서 선언이 되어있고, 함수 내부에서 word를 재할당해주지 않고 word + '!'로 리턴해주었기 때문에 word의 값은 변함없이 "I love coding"임을 알 수 있다.

이 문제를 통해서 단순히 값을 리턴하는 것과 리턴한 값을 변수에 (재)할당하는 것의 차이를 생각해 볼 수 있었다.

profile
어제보다 나은 오늘을 만드는 중

0개의 댓글