(Conditional)
조건문은 어떠한 조건을 판별하는 기준을 만드는 것이다. 조건문에는 반드시 비교 연산자(comparison operator) 필요하다.
비교연산자
2 > 4 ; // false
8 < 10 ; // true
'hello' === 'world'; //false
비교의 결과는 늘 Boolean, 즉 true 혹은 false이다.
if ~ else if 조건문
if (조건1) {
// 조건1이 통과할 경우
} else if (조건2) {
// 조건 1이 통과하지 않고
// 조건 2가 통과할 경우
} else {
// 모든 조건이 통과하지 않는 경우 [조건에는 Boolean 으로 결과가 나오는 비교구문이 들어간다]
}
두가지 조건이 한번에 적용되는 경우?
논리연산자(Logical Operator)를 사용
논리1 && 논리2 ; (and)
논리1 || 논리2 ; (or)
!논리1; (NOT연산자)
논리연산자의 결과에 Boolean이 아닌 값이 들어갈 수 있다.
OR연산자는 truthy한 값을 만나면, 그 값을 출력한다.
undefined || 10 // 10
5 || 10 // 5
5 || console.log('실행되지 않음') // 5
둘다 falsy할 경우, 뒤에 있는 값을 출력한다.
undefined || false // false
AND연산자는 falsy한 값을 만나면, 그 값을 출력한다.
undefined && 10 // undefined
5 && false // false
둘다 truthy할 경우, 뒤에 있는 값을 출력한다.
5 && 10 // 10
(string)
일상생활에서 확인할 수 있는, 모든 글자의 나열을 문자열이라고 한다. 코드 자체도 결국 문자로 이루어져 있기 때문에 컴퓨터는 코드와 문자열을 구분하기 위해 작은따옴표(')나 큰따옴표(")를 사용하여 문자열을 구분한다.
str[index]
let str = 'Leejinseo';
console.log(str[0]); // 'L'
index로 접근은 가능하지만 값을 바꿀 수는 없다. 읽기만 가능
+연산자를 쓸 수 있음
string 타입과 다른 타입 사이에 + 연산자를 쓰면, string 형식으로 변환
-연산자는 안됨, 문자열과 숫자를 합치면 문자열 형태로 변환
let str1 = 'Lee';
let str2 = 'jinseo';
let str3 = '1';
console.log(str1 + str2) ; // 'Leejinseo'
console.log(str3 + 8); // '18'
length PROPERTY
문자열의 전체 길이를 반환한다.
let str = 'Leejinseo';
console.log(str.length) ; // 9
str.indexOf (searchValue)
arguments: 찾고자하는 문자열
return value: 처음으로 일치하는 index, 찾고자 하는 문자열 없으면 -1
lastrindexOf는 문자열 뒤에서 부터 찾음
'Leejinseo'.indexOf('Lee'); // 0
'Leejinseo'.indexOf('lee'); // -1 (소문자 구분함)
'canal'.lastrindexOf('a'); // 3 can a l (0부터 시작)
--------------------------------------012 3
str.split(seperator)
arguments: 분리기준이 되는 문자열
return value: 분리된 문자열이 포함된 배열
let str 'hello my name is jinseo';
console.log(str.split(' ')); // ['hello', 'my', 'name', 'is', 'jinseo']
str.substring(start, end)
arguments: 시작index, 끝index
return value: 시작과 끝 index사이의 문자열
[str.slice(start, end) substring과 비슷하지만 몇가지 차이가 있다.]
let str = 'abcdefghij';
console.log(str.substring(0, 3)); // 'abc' (0,1,2만 가져옴)
console.log(str.substring(3, 0)); // 'abc' (순서바뀌어도 상관없음)
console.log(str.substring(-1, 4)); // 'abcd' (음수는 0으로 취급)
toUpperCase()/toLowerCase()
arguments: 없음
return value: 대,소문자로 변환된 문자열
console.log('abcde'.toUpperCase()); // ABCDE
console.log('ABCDE'.toLowerCase()); // abcde
모든 string method는 immutable
즉, 원본이 변하지 않는다.
array method는 immutable 및 mutable여부를 잘 기억해야 한다.
느낀점
하루가 다르게 배울게 더 많아진다. 모르는 것이 너무 많다...ㅠㅠ 그래도 이렇게 정리하다보면 어느순간 아는게 더 많아질 거라고 확신한다.
용기는 항상 크게 울부짖는 것이 아니다. 용기는 하루의 마지막 "내일 다시 해보자" 라고 말하는 작은 목소리일 때도 있다. -메리 앤 라드마커
멘탈이 나가도 내일 다시 해보자! 수고했다 오늘도!
PROPERTY 프로퍼티의 개념이 먼지 제대로 알아보기
Immutable과 Mutable의 차이 알아보기
slice와 substring의 차이점 알아보기
