두 개 이상의 변수를 연달아 선언할 때
let thing = '두루마리 휴지',
num = 3;
function convertToNumber(anything){
return parseFloat(anything);
}
function convertToNumber(anything){
return Number(anything);
}
함수 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"임을 알 수 있다.
이 문제를 통해서 단순히 값을 리턴하는 것과 리턴한 값을 변수에 (재)할당하는 것의 차이를 생각해 볼 수 있었다.