javaScript의 기초를 배워갈수록 궁금하거나 답답했던 부분들이 해소가 된다. 웹개발이 어떠한 과정으로 진행되고 내가 앞으로 어떤 방식으로 공부를 해야할지, 나아가서 개발자가 되면 어떤 일을 하게 될지가 그려져서 다행히 내가 선택한 길이 틀리지 않았다는 생각이 들었다.
조건문이란 어떠한 조건의 true / false 여부를 판단하는 형태로 이루어져 있는데 이를 이해하기 위해서는 비교연산자를 알아야 한다.
> : 초과
< : 미만
>= : 이상
<= : 이하
=== 같다
!== 다르다
---------
== 같다
!= 다르다
* strict operator(===,!==)와는 다르게 type이 다르더라도 동일한 타입으로 비교한다.
ex) if ("1" == 1) // true
if (0 != false) // false
조건문은 if 통해서 사용할 수 있는데
if (조건1) {
// 조건1이 true 일 경우
} else if(조건2) {
// 조건1이 false 이고 조건2가 true 일 경우
} else {
// 모든 조건이 false 일 경우
}
if에 if나 else if를 중첩하여 사용할 수 있고 조건문에는 반드시 true / false 값이 출력되는 Boolean 타입으로 작성해야 한다.
조건이 다양할 경우에는 &&(AND연산자)나 ||(OR연산자)를 사용하여 단순하게 코드를 작성할 수 도 있다.
if (a>5 && a<10) // a가 5보다 크면서 10보다 작을 경우 true
if (a<5 || a>10) // a가 5보다 작거나 10보다 클 경우 true
또한 논리 연산자 NOT을 활용하면 원하는 조건문을 만들때 출력값을 반전하거나 조건문에도 활용할 수 있다.
!false // true
!(3>2) // false
// Boolean 타입이 아니더라도 truthy하거나 falsy 값들은 알아두는 것이 좋다.
// ex)undefined : falsy, 1 : truly 등
String(문자열)에는 다양한 method들을 적용할 수 있는데 대표적으로 사용되는 것들은 암기하거나 어떠한 것들이 있는지 알아두는 것이 좋다.
let str = 'Be developer'
str[0] // 'B' 문자열은 0,1,2,...(index)번째 형식으로 센다.(배열도 동일)
str.length // 12 문자열의 길이를 number로 출력한다.
str.indexOf('de') // 3 찾고자 하는 문자열의 처음으로 일치하는 index를 출력, 찾지 못한 경우 -1 출력
str.lastIndexOf('e') // 10 indexOf와 동일하나 문자열 뒤에서부터 가장 먼저 일치하는 경우 해당 문자열이 시작하는 index 출력
str.inclues('vel') // true 해당 문자열이 포함되는지 Boolean 형태로 출력
str.split(' ') // ['Be', 'developer'] 해당 문자열이 분리 기준이 되어 분리된 배열 출력
str.substring(2,4) // ' d' 시작 index에 해당하는 문자열부터 끝 index전까지의 문자열 출력
str.toLowerCase() // 'be developer' 소문자로 변환된 문자열 출력
str.toUpperCase() // 'BE DEVELOPER' 대문자로 변환된 문자열 출력
str = str.split(' ') // 문자열의 method는 immutable 하므로 재할당을 해줘야 값이 변경된다.
조건문을 배우고 나니, 간단한 문제들은 풀이가 가능하고 문법이나 언어를 이해하는데 도움이 되었다. 앞으로 반복문이나 배열에 대해서 배운다면 코딩테스트를 할 수 있는 사이트의 문제들도 시도해볼 수 있을 것 같다. 기초를 쌓아가는 과정에서 느낀 것은 많은 함수들과 method들을 달달 외우기 보다는 어떠한 것들이 있는지 파악해서 검색한 후 사용하는 것이 더 편하다는 것이다. 또 코딩문제를 풀 때는 문제를 파악해서 가장 알맞는 알고리즘을 설계해야 하고 문제가 생겼을때 빠르게 파악해서 수정하는 능력이 중요하다는 것을 이틀 간 의 Pair Programming을 통해서 느꼈다. 코플릿 문제들의 난이도가 어렵지 않아서 코드를 짜는 것은 어렵지 않았지만 분명히 더 간결하고 눈에 보기 쉬운 방식으로 코드를 작성할 수 있는 방법들이 존재한다고 생각해서 함께 문제를 풀어나가는 동기분과 어떤 방법이 나은지를 고민하면서 프로그램을 진행했다.