TIL 7일차 - [JavaScript] 조건문

Yoon Kyung Park·2023년 4월 19일
0

TIL

목록 보기
7/75
  • 특정한 조건에서만 실행되는 코드를 작성할 수 있다.

O
특정한 조건에서만 실행되게 하는 것은 함수 중 조건문을 통해 코드를 실행할 수 있다. 이러한 조건문에는 If문, else if문, else문이 있다.

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

truthy와 falsy는 불리언 타입은 아니지만, 참인 값, 거짓인 값으로 여겨지는 값들이다. if문에 (적용된 식의 값)이 참이면, {코드 블록 내}의 식을 실행하며 값을 출력하고 반환하는 반면, (적용된 식의 값)이 거짓이면, {코드 블록 내}의 식이 실행되지 않고, 즉시 중단한다.

cf) 중괄호 {} 밖에 console.log가 있는
경우에는 조건식이 참일 경우 {코드 블럭 내}의 식을 실행하여 값을 반환하고, 거짓인 경우 할당한 변수 그대로를 반환하지만,
중괄호 {} 안에 console.log가 있는 경우에는 조건식이 거짓일 경우에는 {코드 블럭 내}의 식을 실행하지 않으므로 'undefined'를 반환한다.

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

값의 크기를 비교하기 위해 비교 연산자를 사용한다. 이는 불리언 타입이다. 이때 이상, 이하 등을 표현하기 위해 동치 연산자와 같이 사용한다. <,>,<=,>= 이때 '='은 항상 부등호 오른쪽에 온다. 엄격한 동치 연산자는 두 피연산자가 동일하면 '==='을 통해 나타내고 true를, 두 피연산자가 동일하지 않으면 '!=='을 통해 나타내고 false를 반환한다.

  • if, else if, else를 사용하여 여러 개의 조건을 중첩해서 사용할 수 있다.

if문은 단독으로 사용 가능하나, 중복으로 사용할 수 없다.
else if문은 단독으로 사용 불가하나, 중복으로 사용할 수 있다.
else문은 단독으로 사용 불가하여 무조건 if와 같이 사용해야하며, 중복으로 사용할 수 없다.

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

논리 관계를 확인하기 위해 논리 연산자를 사용한다. 이는 불리언 타입이다.

||(논리합,or)은 여러개 중 하나만 true여도 true를 반환하며, 여러개 모두 다 false여야 false를 반환한다.

&&(논리곱,and)는 여러개 모두 다 true여야 true를 반환하며, 여러개 중 하나만 false여도 false를 반환한다.

!은 부정 논리 연산자로 사실 관계를 반대로 표현한다. 이 역시 불리언 타입이다. falsy, truthy의 반대값을 반환한다.

소감

🔡➡️💻➡️🤓👍

문제를 풀기 시작하면서, 어려움에 직면했다.
이론상으로 이해했는데 문제를 풀면 내가 이해한 것을 대입하기는커녕
무엇을, 어디에, 어떻게, 왜 넣어야 하는지조차 갈피가 잡히지 않았다.

당연하지만, 마냥 당연한 것은 없기에..
배우지 않은 내용이 문제에 담겨 있어 이번 주 내내 어려움을 느꼈다.
화가 나기도 했고, 짜증이 나기도 했고, 눈물이 나기도 했다.

정말 유난스러웠지만, 정말 또 언제 그랬냐는 듯 그렇게 지나갔다.
며칠을 보고 들어도 이해가 되지 않았던 게 정말 스쳐 지나가다
문득 이해가 되기도 한다는 걸 오늘 몸소 느꼈다.

언제 그랬냐는 듯 너무나도 자연스럽게 이해가 되어 어이가 없는 동시에
스며드는 잔잔한 뿌듯함. 성취감 그 어딘가에 놓인 나 자신이 마냥 기특한 하루였다.
함수를 알아가려고 발버둥 치는 그 며칠 동안 순간의 이해로 문득 든 생각이 있다.

개발이란, 직면한 문제를 해결하기 위해서 새로운 것을 만들거나 발전하는 것을 의미한다. 그렇기에 해결해야 할 문제도 찾아야 하고, 찾은 문제를 어떻게 해결할지, 그리고 해결한 문제들을 어떻게 사용할 것인지에 대해서도 고민하는 과정이 필요하다.

그래서 '개발자'란 비단 IT 계에서만 통용되는 단어는 아니라고 생각한다.
살면서 직면하게 될 작고 큰 문제들.
그리고 그러한 현실에서 보다 나아지기 위해 보완하거나 새롭게 바꾸려는 모든 과정들과 노력들.
아마 분명히 언제나 어디서나 누구에게나 존재한다고 생각한다.

그러한 의미에서 이러한 문제 해결을 위한 과정을 체계적으로 잘 구성한
하나의 작은 기능인 함수가 꽤나 마음에 들었다.

그래서 생각했다.

외부에서 받은 자극과 경험들의 인풋(입력값)들을 내면에서 나의 능력으로 바꾸는 과정을 통해 나의 실력으로 아웃풋(출력)하여 나의 경험치로 반환하는 함수 같은 사람이 되어야지.

그래서 내가 필요한 적재적소에 언제든 나를 호출할 수 있도록 그런 사람이 되어야지.
비록 함수가 하나의 작은 기능이라지만, 그런 함수들이 모여 하나의 앱을 구동하듯
나의 작은 행동들이 결국에 나를 더 멋진 사람으로 성장시켜줄테니깐.

흠.. 이렇게 보니 함수, 꽤나 매력적이네!
나와는 전혀 관련이 없을 거라 생각했던 이 단어를 이토록 오랫동안
고민해보고 매력을 느끼다니. 이 매력에 코딩을 하는 건가 싶다.

profile
developerpyk

0개의 댓글