DAY 1 . 변수와 자료형

냐하호후·2021년 6월 15일
0

callFunction

let word = returnWordWithJoy('I love coding');
// 아래 코드는 변경하지 마세요
function returnWordWithJoy(word) {
  if (typeof word !== 'string') {
    return 'wrong type';
  } else {
    return word + '!';
  }
}

맨위에 변수 word를 선언하는 'let word'뒤에 'I love coding' 값을 할당시키지 않았다는 점을 눈치챘다
그러나 어떻게 작성해야할지 몰랐다.
let word="I love coding"이라고 생각했는데 아니었다. 구글개발자 도구에서도
Uncaught SyntaxError: Unexpected identifier 라는 에러가 떴다
변수가 returnWordWithJoy함수의 밖에 있어서 인식을 못한 것 같다.

1일차 배우는 페이지의 함수part의 퀴즈에 저장된 작성법을 참고했다

함수 선언식

function getRectangleArea (width, height) {
  let rectangleArea = width * height
  return rectangleArea
}

함수표현식

let getRectangleArea = function (width, height) {
  let rectangleArea = width * height
  return rectangleArea
}

convertToNumber

"임의의 값을 입력받아 수(number)의 형태로 리턴해야 합니다."

라는 간단한 문제였지만 number함수를 만드는건 생각보다 힘든 일이었다.

function convertToNumber(anything) {
let num = Number(anything)
return num }
  • 이건 나와 함께한 페어가 거의 정답을 맞췄다.
    convertToNumber함수안에 number함수를 넣어야한다고는 생각했는데 어떤 방식으로 넣는지 해메었다.
    convertToNumber는 함수의 이름일 뿐 아직 아무 기능이 없다 그렇기 때문에 내부에 number()함수를 넣어주어야 한다.

  • 복습하면서 console에서 또 실수를 했다.
    convertToNumber()로 함수가 맞는지 확인을 해야하는데 anything이나 num에 값을 대입해본 것이다. 변수 값에 =으로 대입하면 문자열은 문자열 그대로 나오는게 당연하잖아?
    그냥 number()함수로 확인하는 것도 잘못 되었다. 그러면 convertToNumber()함수를 확인하는 것이아니라 완전히 새로운 Number()함수를 검토하는 것이다.

  • 처음에 정답이라고 생각했던 오답이다.

function convertToNumber(anything) {
let Number(anything)
return convertToNumber
}

let은 변수를 선언하는 건데 변수는 온데간데 없고 number함수만 덜렁남아있다.
그리고 convertToNumber함수안에 return convertToNumber라고 적혀있다.

return 명령문은 함수의 실행을 종료하고, 주어진 값을 함수 호출 지점으로 반환한다.
return convertToNumber를 입력하면 함수가 그대로 출력될 뿐이다.

reference

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

return함수와 number함수를 함께 쓸 수 있다.

profile
DONE is better than PERFECT

0개의 댓글