조건문은 어떠한 조건을 판별하는
기준을 만드는 것
이다. 또한 조건문에는 반드시비교 연산자
가 필요하며 비교의결과는 항상 boolean
, 즉 true 혹은 false이다.
✍ 조건문은 아래와 같이 쓸 수 있으며 조건에는 Boolean 값이 나오는 비교구문이 들어간다.
if (조건1){
// 조건1이 true일 경우 실행할 내용
} else if (조건2) {
// 조건1이 false이고 조건2가 true일 경우 실행할 내용
} else {
// 조건1,2 모두 해당하지 않을 경우 실행할 내용
}
타입까지 비교 가능한 ===(같다)와 !==(다르다)를 사용하고 ==, != 는 타입까지 비교할 수 없기 때문에 사용을 지양한다.
3 > 5 // false
9 < 10 // true
'hello' === 'world'; // false
100 === '100' // false
'true' === true // false
null === undifined // false
100 == '100' // true
1 == true // true
null == undifined // true
초과 | 미만 | 이상 | 이하 | 같다 | 다르다 |
---|---|---|---|---|---|
> | < | >= | <= | === | !== |
2가지 조건이 한번에 적용되는 경우
논리연산자
를 사용한다.
2가지 조건을 모두 만족해야 함
true && true // true
true && false // false
false && false // false
2가지 조건 중 하나라도 만족하면 됨
true || true // true
true || false // true
false || false // false
NOT연산자는 truthy, falsy 여부를 반전시킴
!false // true
!(3>2) // false
!undefined // true, undefined를 false로 취급
!'Hello' // false, "Hello'를 true로 취급
다음은 if문에서 false로 변환되므로 if문이 실행되지 않는다.
if (false)
if(null)
if(undefined)
if(0)
if(NaN)
if('')
작은따옴표(
'
)나 큰따옴표("
)를 사용하여 문자열을 구분한다. 또한 숫자와 같이 문자열이 아닌 형태를 따옴표를 붙여 문자열로 변경할 수있다.
[index]
는 해당하는 index의 문자열을 반환하고length
는 문자열 전체 길이를 반환한다.
let str = 'CodeStates'
console.log(str[0]) // 'C'
console.log(str[4]) // "S'
console.log(str[10]) // undefined
console.log(str.length) // 10
indexOf()
는 처음으로 일치하는 index를 반환하고 찾고자 하는 문자열이 없으면 -1을 반환한다.lastIndexOf()
는 문자열 뒤에서 부터 찾고 그 문자열의 index를 반환한다.
'Blue Whale'.indexOf('Blue') // 0
'Blue Whale'.indexOf('blue') // -1
'Blue Whale'.indexOf('Whale') // 5 (공백도 index에 포함)
'Blue Whale Whale'.indexOf('Whale') // 5
'canal'.lastIndexOf('a') // 3
seperator(공백(
' '
), 쉼표(,
), 줄바꿈(\n
) 등)에 따라 분리된 문자열을배열 형태
로 얻을 수 있다.csv형식
을 처리할 때 유용하게 사용된다.
let str = 'Hello from the other side';
console.log(str.split(' ') // 'hello','from','the','other','side']
substring
은 idx1과 idx2 사이의 문자열을 반환하고 이 때 idx2번째의 문자열은 포함하지 않는다.
let str = 'abcdefghij'
console.log(str.substring(0, 3)) // 'abc'
console.log(str.substring(3, 0)) // 'abc'
cosnole.log(str.substring(1, 4)) // 'bcd'
toLowerCase()
는 문자열을 소문자로 반환하고toUpperCase()
는 문자열을 대문자로 반환한다.
console.log('ALPHABET'.toLowerCase()) // 'alphabet'
console.log('alphabet'.toUpperCase()) // 'ALPHABET'
✍ 즉, 원본이 변하지 않는다. String Method를 사용하여도 기존에 변수에 할당된 값은 변함이 없으므로 바뀐 값을 사용하기 위해서는 재할당이 필요하다.
let str = 'blue whale'
console.log(str.substring(0,4)) // 'blue'
console.log(str) // 'blue whale'
console.log(str.toUpperCase()) // 'BLUE WHAlE'
console.log(str) // 'blue whale'
str = str.toUpperCase() // 재할당
console.log(str) // 'BLUE WHALE'