상세 컨텐츠

본문 제목

코드카데미 Javascript - False로 취급하는 값, switch문

IT/Javascript

by J KIMS 2020. 9. 17. 18:10

본문

반응형

Truthy and Falsy

let myVariable = 'I Exist!';

if (myVariable) {
   console.log(myVariable)
} else {
   console.log('The variable does not exist.')
}

 

이런 코드가 있다면 myVariable은 non-falsy 값이기 때문에 true로 간주된다.

false로 처리되는 경우는 다음과 같다.

 

  • 0

  • 빈 문자열 "" 이나 ''

  • null 값

  • undefined

  • NaN 이나 Not a Number

let numberOfApples = 0;

if (numberOfApples){
   console.log('Let us eat apples!');
} else {
   console.log('No apples left!');
}

// Prints 'No apples left!'

 

numberOfApples 에는 0이 할당되어 있기 때문에 false 처리됨.

 

let defaultName;
if (username) {
  defaultName = username;
} else {
  defaultName = 'Stranger';
}

 

유저가 계정을 가지고 있는지 아닌지에 따라 처리를 다르게 한 경우.

이 코드를 더 간단하게 처리할 수 있다.

 

let defaultName = username || 'Stranger';

 

username이 맞다면 defaultName이란 변수에 저장되고 false면 'Stranger'가 저장됨

이런걸 short-circuit evaluation 이라고 함

💡 || 는 왼쪽 조건 먼저 판단하고 true면 오른쪽은 검사하지 않는다는 거 주의 

 

 

switch 문

 

let athleteFinalPosition = 'first place';

switch (athleteFinalPosition){
  case 'first place' : console.log('You get the gold medal!');
  break;
  case 'second place' : console.log('You get the silver medal!');
  break;
  case 'third place' : console.log('You get the bronze medal!');
  break;
  default : console.log('No medal awarded.');
  break;
}

 

각 case와 default에 break; 추가해주는 거 잊지 말기

 

let userName = 'J Kim';

userName ? console.log(`Hello, ${userName}!`) : console.log('Hello!');

let userQuestion =  'Could I become a web developer?';
console.log(`The user asked :${userQuestion}`);

let randomNumber = Math.floor(Math.random()*8);

let eightBall = '';

switch(randomNumber){
  case 0 : eightBall ='It is certain';
  break;
  case 1 : eightBall = 'It is decidedly so';
  break;
  case 2 : eightBall = 'Reply hazy try again';
  break;
  case 3 : eightBall = 'Cannot predict now';
  break;
  case 4 : eightBall = 'Do not count on it';
  break;
  case 5 : eightBall = 'My sources say no';
  break;
  case 6 : eightBall = 'Outlook not so good';
  break;
  case 7 : eightBall = 'Signs point to yes';
  break;
}

console.log(`The eight ball answered: ${eightBall}`);

 

이거는 pro 모드에서 제공하는 연습문제 보고 작성한 코드 (Magic Eight Ball)

 

let randomNumber = Math.floor(Math.random()*8);

 

💡Math.random()0~1 사이의 숫자를 랜덤으로 반환한다.

8을 곱하면 0~8 사이의 숫자를 랜덤으로 반환함. Math.floor()는 실수를 정수로 내림하는 기능.

즉 위 코드는 0부터 7까지의 정수를 랜덤으로 생성하는 것

 

 

※ Codecademy의 Learn JavaScript 강의를 들으며 작성한 메모입니다.

반응형

관련글 더보기

댓글 영역