👉 두 값의 논리적인 연산 값을 결과로 나타내는 형태
&&, ||, !
있다.
true && false // false
true || false // true
!true // false
👉 양측 데이터의 비교 결과에 따라, T/F의 형태로 나타나는 연산 방법
===, !==, ==, !=, >=, <=, >, <
있다.
4>27 // false
'hello' === 'string' // true
20 <= 5*4 // true
논리 연산자와 비교 연산자는 결과적으로 true 또는 false를 반환하게 된다.
!=
와 ==
는 타입의 비교는 하지 않기 때문에 사용을 피하는 것이 좋다.
1 == '1' // true
null == undefined // true
// 조심 조심
if (조건1) {
// 조건1이 참(true)일 때 실행
} else if (조건2) {
// 조건2이 참(true)일 때 실행
} else {
// 조건1, 조건2 모두 만족하지 않을 때
}
조건에 맞는 실행문을 실행하며 위에서 부터 조건을 순서대로 조사한다.
switch(변수) {
case 조건1 :
// 조건1이 참(true)일 때 실행
break;
case 조건2 :
// 조건2이 참(true)일 때 실행
break;
default:
// 나머지 경우에 실행 됨
break;
}
해당 조건을 찾아서 실행한다.
두 가지 조건문의 실행 결과는 같다. 다만 두 가지의 내부적 동작 방식이 순차적인가 조건을 찾아 실행한다의 차이가 있다.
string 타입의 데이터
let str = 'Hello World';
str.length() // 11
str.slice(0,2) // 'He'
str.substr(2,2) // 'll'
str.substring(1,2) // 'e'
str.toUpperCase() // 'HELLO WORLD'
str.toLowerCase() // "hello world'
str[6] // 'W'
str.indexOf(' ') // 5
str.lastIndexOf('l') // 9
str.includes('World') // true
모든 메서드는 원형 데이터를 변조하지 못한다!
문자열의 길이를 측정할 수 있다.
문자를 원하는 부분만 잘라 낼수 있다. 인자로는 start, end 두 개의 index Number가 필요하다.
str.slice(start, end)
주의 ⚠️
Start가 end보다 큰 경우에는 ""
빈 문자열을 반환한다.
substring과의 차이점!
원하는 부분을 잘라내는데 사용 할 수 있다. start, length로 자른다.
str.substr(start,length)
시작점부터 원하는 길이만큼을 잘라낸다. length가 음수가 되면 ""
빈 문자열을 반한다.
slice와 같이 start, end를 통해 잘라낸 문자를 반환한다.
str.substring(start,end)
start가 end보다 작더라도 같은 방식으로 동작한다.
문자열 전체를 대문자, 소문자로 변환한다.
str.toUpperCase(), strtoLowerCase()
str[number]
특정 인덱스의 문자열 값을 읽을 수 있다.
⚠️ 주의 : 문자열을 읽을수만 있지 변경은 불가능하다! (Read Only)
let str = "Hello World"
str[2] // "l"
str[3] = "r" // Not occured Err
console.log(str) // is "Hello World" Not "Herlo World"
str.indexOf(string)
특정 스트링 값을 어디에 가지고 있는지 찾을 수 있다.
뒤에서부터 검사하고 싶다면 lastIndexOf
메서드를 사용할 수 있다.
값이 없는 경우에는 -1
을 반환한다.
str.includes(string)
특정 문자열을 가지고 있는지를 (T/F)로 반환한다.
문자열은 원시자료형 Immutable value로 직접 수정이 불가하다.