0721 TIL

냐하호후·2021년 7월 21일
0

TIL

목록 보기
10/101

문자열

문자열을 원하는 만큼만 선택할 수 있다.
str.slice(0, 3) 또는 str.substring(0, 3)
문자열 중 원하는 문자의 index를 찾을 수 있다 str.indexOf('a') 또는 str.lastIndexOf('a')
문자열 중 원하는 문자가 포함되어 있는지 알 수 있다. str.includes('a')

띄어쓰기 (" ") 로 문자열을 구분하여 배열로 바꿀 수 있다. str.split(" ")
위의 배열의 요소 사이에 띄어쓰기 (" ") 넣어 다시 문자열로 바꿀 수 있다. str.split(" ").join(" ")

모든string메소드는 immutable하다.

조건문

11번

function isEitherEvenAndLessThan9(num1, num2) {
  if(num1 %2 === 0 || num2 %2 === 0){
    if(num1 < 9 && num2 < 9){
      return true
    }
    //return false
  }
  //else{
  return false
 // }
}

else를 쓰시게 되면 아래 조건문에 부합하지 않은 것들은 모두 false 가 됩니다.
코드를 보면 이중 조건문을 쓰셨기 때문에 첫 조건문에서 부합하지 않았을 때 무조건 false가 되는 것이죠.

else를 쓰면 num1과 num2가 짝수가 아닌경우에 false가 된다.

 if(num1 %2 === 0 || num2 %2 === 0){
    if(num1 < 9 && num2 < 9){
      return true
    }

이중 조건문을 썼기 때문에 위의 코드조각에서 첫번째조건문은 만족하는데 두번째 조건문은 틀리면 정해진게 없는 것이다.
그래서 else를 쓰고싶다면 내가 주석으로 적은 것처럼 첫번째 조건문을 만족하면서 두번째 조건문을 틀린 경우에 대해서 false라고 작성해주어야 한다.

16번

function addOneSecond(hour, minute, second) {
 
  if(second >= 59){
    minute = minute + 1
    second = 0

  if(minute === 60){
    minute = 0
    hour = hour + 1
  }

  if(hour === 24){
    hour = 0
  }

  }
  else{
  second = second + 1
  }
  return `1초 뒤에 ${hour}${minute}${second}초 입니다`
}
//시,분,초를 입력받아 1초를 더한 결과값을 특정형태의 메시지로 리턴
//만약 second가 59가 되면 minute은 minute + 1이 되고 second는 0이된다
//만약 minute이 60이 되면 hour는 1이 추가되고 minute은 0이된다.
//만약 hour이 24가 되면 hour은 0이된다.
//일반적인 경우에는 second는 second + 1 이 된다
//`1초 뒤에 ${hour}시 ${minute}분 ${second}초 입니다` 를 리턴한다.

이건 진짜 31기였을때 수도없이 틀렸는데 아직도 한번에 맞추지 못한다. if문 끼리의 관계를 생각해야하고 , 조건이 없을 때에는 second가 1 추가되어야하는지 생각해야한다.

17번

function isFalsy(anything) {
if(anything === 0|| anything === false || isNaN(anything) || anything === undefined || anything === '' || anything === null){
  return true
}
else{
return false
}
}

anything === NaN이라고 적으면 true가 리턴이 되지 않았다.

NaN === NaN이 성립하지 않기 때문에 그렇습니다.
anything이 NaN일 경우 anything === NaN은 false입니다.
how to know if a variable is NaN in javascript 같은 검색어로 구글링 하신 후 방법을 찾아보시는 게 어떨까요?

그외

  • typeof 메소드는 붙여서 쓰자 띄어쓰기 x

  • 객체의 길이를 잴 때는 object.length라고 쓸 수 없다.
    Object.key().length 이런식으로 사용한다.

profile
DONE is better than PERFECT

0개의 댓글

관련 채용 정보