조건문은 어떠한 조건을 판별하는 기준으로, 반드시 비교 연산자가 필요하다.
Boolean
값으로 반환됨>
초과<
미만>=
이상<=
이하===
같다 (==
은 안 쓰는 것이 좋다. ===
은 타입까지 같아야 true
가 나오지만 ==
은 타입이 달라도 값이 같으면 true
가 반환된다.)!==
다르다boolean
값과 함께 사용해서 boolean
값을 반환함&&
와 ||
연산자는 사실 두 피연산자 중 하나를 반환하는 것으로, 만약boolean
값이 아니라면 논리 연산자의 반환 값도 boolean
값이 아닐 수 있음!true // false
!(3<2) // true
NOT 연산자를 중첩하는 것도 가능하다. ex) !!!isDog, !!isCat
true || true // true
true || false // true
false || false // false
true && true //true
true && false //false
false && false // false
undefined
와 string
은 true일까, false일까?
!undefined // true
!'Hello' // false
undefined는 false로 취급되고, 이처럼 false로 취급되는 값을 falsy한 값이라고 한다.
문자열인 'Hello'는 true로 취급되는데, 이는 truthy한 값이라 한다.
falsy한 값들을 알아두는 것이 좋은데 6가지가 있다.
1. false
2. null
3. undefined
4. 0
5. NaN
6. '' (빈 문자열)
if(조건1){
//조건1이 통과할 경우 실행
}
else if(조건2){
// 조건1이 통과 X이며, 조건 2가 통과할 경우 실행
}
else{
//모든 조건이 통과하지 않는 경우 실행
}
문자열(string)은 글자의 나열이다. 문자 하나는 character이고, char이라고 줄여서 쓴다.
+
연산자를 사용해서 문자열들을 합칠 수 있다.'java' + 'script' //javascript
+
연산자를 써서 합치면 string 타입이 된다.typeof (2+'hi') // string
.length
문자열의 길이를 리턴
indexOf()
문자열 내에 지정된 요소가 위치하고 있는 첫 번째 인덱스를 리턴
지정된 요소가 문자열 내에 존재하지 않을 경우 -1을 리턴
split()
문자열을 지정한 구분자를 이용하여 여러 개의 문자열로 나눈 후 배열의 형태로 리턴
toUpperCase()
소문자를 대문자로 변환
toLowerCase()
대문자를 소문자로 변환
한 동작을 효율적으로 여러 번 반복하기 위해서 사용하는 구문이다.
for(초기값;조건식;증감문){
반복 내용;
}
function getSomeOfNum(num){
let sum=0;
for(let i=1; i<=num; i++){
sum+=i;
}
return sum;
}
위의 함수는 1부터 num까지의 합을 구하는 함수다. for문을 사용해서 반복적으로 sum
에 i
값을 더하여 총합을 구할 수 있다.
let i=1
이 초기화, i<=num
은 조건식 i++
은 증감문이다.
초기화;
while(조건식){
반복 내용;
증감문;
}
function getSomeOfNum(num){
let sum=0;
let i=1;
while(i<=num){
sum+=i;
i++;
}
return sum;
}
while문에서는 괄호 안에 조건식만 들어가고, 초기화는 while문 위에, 증감문은 while문 블록 안에 넣어 주면 된다.
구하고자 하는 값의 조건이 명확할 때 for문을 사용하는 것이 좋고, 반대의 경우엔
while 문을 사용하는 것이 좋다.