TIL 3일차 - 조건문 , 문자열

박진현·2021년 6월 16일
0

TIL

목록 보기
3/71

오늘의 목표달성

  • truthy와 falsy 가 조건문에서 작동하는 방식을 이해할 수 있다.
    -> O

  • 비교연산자를 통한 엄격한 비교(=== , !==)에 대해 이해할 수 있다.
    -> O

  • if 와 else if , else를 이해하고 무리없이 활용할 수 있다.
    -> O

  • 논리연산자를 (&&, ||, ! ...)을 통해 복잡한 조건을 간결하게 작성할 수 있다.
    -> O

  • 문자열의 length라는 속성을 활용해 길이를 확인할 수 있다. str.length
    -> O

  • 문자열의 글자 하나하나에 접근할 수 있다. str[1]
    -> O

  • 문자열을 합칠 수 있다. word1 + " " + word2
    -> O

  • 문자열을 원하는 만큼만 선택할 수 있다. str.slice(0, 3) 또는 str.substring(0, 3)
    -> O

  • 영문을 모두 대문자로 바꿀 수 있다. str.toUpperCase()
    -> O

  • 영문을 모두 소문자로 바꿀 수 있다. str.toLowerCase()
    -> O

  • 문자열 중 원하는 문자의 index를 찾을 수 있다 str.indexOf('a') 또는 str.lastIndexOf('a')
    -> O

  • 문자열 중 원하는 문자가 포함되어 있는지 알 수 있다. str.includes('a')
    -> O

조건문

- 조건문 코드 줄이기

  • (06/19) 그냥 이런게 있구나..정도로 이해하면 좋을 것 같다. 절대 아래와 같이 작성하면 안된다! 코드의 가독성이 떨어져 협업하는 사람들이 보면 한눈에 알아볼 수 없기 때문이다!

if문 예제를 풀어보면서 코드를 줄일 수 있는 방법들을 터득하게되었다.
if~else구문의 리턴값을 boolean타입으로 받는다면 이를 비교연산자를 통해 엄청나게 간단하게 만들 수 있다!

1) 나이를 입력받아 술을 마실 수 있는지(20세이상)의 여부를 Boolean 타입으로 리턴

function isOldEnoughToDrink(age){
  if (age>=20){   // 20세 이상이면 아래 코드블럭이 실행된다
    return true   // 20세 이상이기때문에 리턴값 true를 반환
  } else {  // 20세 이상이 아니라면 아래의 리턴값 false를 반환
    return false
  }

위 코드를 아래와 같이 줄일 수 있다.

function isOldEnoughToDrink(age){
     return age >= 20
}

2) 수를 입력받아 10과 같은지 여부를 boolean 값으로 리턴

function equalsTen(num) {
  if ( num === 10){
    return true
  } else {
    return false
  }
}

위 코드를 아래와 같이 줄일 수 있다.

function equalsTen(num) {
  return num === 10
}

3) 두 개의 수를 입력받아 두번째 수가 첫번째 수보다 큰지 여부를 리턴(boolean타입)해야 합니다.

function isGreaterThan(num1, num2) {
  if (num1 < num2) {
    return true;
  }
  return false;
}

위 코드를 아래와 같이 줄일 수 있다.

function isGreaterThan(num1, num2) {
  return num1 - num2 < 0
}
5) 수를 입력받아 입력된 수가 10보다 크고 짝수인지 여부를 리턴해야 합니다.
function isEvenAndGreaterThanTen(num) {
  if (num % 2 === 0 && num > 10) {
    return true;
  }
  return false;
}
     *  코드 줄이기  *
       
function isEvenAndGreaterThanTen(num) {
  return num % 2 === 0 && num > 10
}

- 조건문 중 a,b,c 세 파라미터를 비교할 때

은근히 버벅거리고 생각하게 된다.. 좀 더 최적의 방법이 없는지 생각해볼 것

문자열

문자열은 주말에 다시 공부해보면서 찾아바야겠다..

오늘의 회고

오늘 3시간밖에 못 자서 피곤하다. 그래도 깨어있는 시간 중 4시간은 휴식을 취했고 13시간은 공부했다. 13시간을 공부했는데도 오늘 하루가 만족스럽지 못하다. 난 아직도 내가 이해하지 못한 부분이 무엇인지 찾아내고싶다. 내가 분명 놓치는 부분들이 있을텐데... 매 개념마다 끊임없이 "왜?","왜 이렇게 돼?" "왜 이 값이 나오지?"와 같은 질문들을 스스로 던져보고 답을 찾아갔다. 이렇게 공부하다보니 시간이 진짜진짜 너무나도 부족했지만 한번 배운 개념은 절대 헷갈리지도 않고 잊어버리지도 않을 것 같다. 역시 사람은 물고기를 잡는 법을 배워야한다. 백날 물고기를 입에 물려줘봐야 싫증만 날 뿐이다!

오늘도 정말 배운게 많았다. 하루 하루 너무 즐겁다. 스스로 고뇌하다 머리가 뜯겨져 나갈 것 같은 고통이 들어도 그 고통마저 행복하다. 이 재밌는걸 난 왜 이제야 시작했을까...
내일 배울 반복문을 미리 예습하고 잠에들어야겠다!

오늘도 많이 성장했다. 내일도 많이 배워야겠다. 다 안다고 착각하지 않고, 주어진 시간을 최대한 활용하고 어제 성장한 것 보다 더 성장해보고 싶다!

profile
👨🏻‍💻 호기심이 많고 에러를 좋아하는 프론트엔드 개발자 박진현 입니다.

0개의 댓글