4월 1일 TIL

Zeroizer·2022년 4월 1일
0

위코드 TIL

목록 보기
1/4

논리 연산자

가위바위보 함수를 만드는데 애를 먹었다.

function rockPaperScissors(player1, player2) {
  //  예시:
  if ((player1 === "가위" && player2 === "보") || (player1 === "가위" && player2 === "가위") || (player1 === "바위" && player2 === "가위") || (player1 === "바위" && player2 === "바위") || (player1 === "보" && player2 === "바위") || (player1 === "보" && player2 === "보")) {
    return "player1";
  } else {
    return "player2";
  }
}

플레이어1이 이기거나 비겼을때는 player1 리턴, 플레이어2가 이겼을 때 player2 리턴을 해야 하는데

if 함수를 사용해서 (플1 가위 === 플2 보) || (그 외 이기거나 비기는 수) 이런 식으로 나열하고

플2가 이기는 경우는 else 를 사용하니 바로 해결되었다.

함수 데이터

assignment 진행 중 정말 어이 없는 곳에서 막혔다.

isbiggerThanHundred 함수를 만들고

받은 함수에서 인자 argument myNumber를 매개변수 parameter에 저장하고

mynumber가 100보다 크면 크다, 작으면 작다 를 리턴해야 되는데

function isbiggerThanHundred(num) { 
  if (num > 100) {
    return "크다!";
  } else {
    return "작다!";
  }
}

isbiggerThanHundred("myNumber");

if 문 옆에 변수 num을 입력 않하고 그냥 매개변수인 myNumber 를 입력하는바람에 뭐가 잘못된건지 몇분을 확인했다..

아직 각 개체의 이름과 개념을 제대로 이해하지 못해서 발생한 문제 같다.

매개변수 parameter 자리 혹은 변수의 이름

인자 argument 는 그 자리에 들어갈 구체적인 값

꼭 기억하자.

라고 맘을 먹자마자 다음챕터에서 다루게 되었다..

parameter, argument

다시 한번 매개변수 parameter 는 함수선언 괄호 안에 변수 명을 뜻한다.

실제로 함수 안의 변수와 같은 역할을 한다.

인자 argument는 어떤 함수의 호출문의 괄호안에 어떤 값 또는 정의된 값이다. 함수에서 매개변수가 쓰여진 상태면 호출시 인자로 전달한 값은 매개변수로 통해 사용이 가능해진다.

assignment 에서 막혔다.

let haha;
function halfNumber(value) {
  haha = value / 2;
  return haha;
}



function halfAndAddNumber(value) {
  halfNumber(value);
  let result = haha;
  return result + 1; 
}

halfNumber(50)
halfAndAddNumber(100)

let 위치에 대한 개념을 잘 몰라서

이렇게 구현을 해봤지만, 한번 halfNumber 함수 앞에 let의 위치를 함수 안의 haha 앞에 옮기니 오류가 떴다.

왜 그런지 잘 몰랐는데 알고보니 let을 함수 안에 정의하면 함수 밖에서 그 변수를 쓸 수 없는 거였다.

그리고 코드를 더 줄일 수 있어서 해보니

function halfNumber(value) {
  let haha = value / 2;
  return haha;
}

function halfAndAddNumber(value) {
  let result = halfNumber(value);
  return result + 1; 
}

halfNumber(100)
halfAndAddNumber(100)

이런 식으로도 줄일 수 있었고, 다시 한번 끄적여보니

function halfNumber(value) {
  return value / 2;
}

function halfAndAddNumber(value) {
  return halfNumber(value) + 1;
}

halfNumber(100)
halfAndAddNumber(100)

이렇게 까지 줄일 수 있었다. 이게 더 완벽한 것 같다.

profile
프론트엔드 개발자 지망생

0개의 댓글