Operator
1) String concatation
- "string1" + "string2" => string1 string2
- "string1" + 2 => string12
-> 숫자가 문자열로 변환됨
- `string literals : 1+ 2 = ${1 + 2}` => string literals : 1+2 = 3
+ 중간의 특수 기호도 `` 사이에서는 잘 출력됨
++ \n : 엔터, \t : 탭
+++ 'string' 중 ' 표시하고 싶은 경우 \ 추가해주기
2) Numeric operators
- + : 덧셈
- - : 뺄셈
- * : 곱셈
- / : 나눗셈
- % : 나머지 연산
- ** : 제곱 연산
3) Increment and decrement operators
- let preIncrement = ++counter
counter = counter + 1;
preIncrement = counter;
- let postIncrement = counter++
postIncrement = counter;
counter = counter + 1;
- let preDecrement = --counter
counter = counter - 1;
preIncrement = counter;
- let postDecrement = counter--
postDecrement = counter;
counter = counter - 1;
4) Assignment operators
- x += y : x = x + y
- x -= y : x = x - y
- x *= y : x = x * y
- x /= y : x = x / y
5) Comparison operators
- < : less than
- <= : less than or equal
- > : greater than
- >= : greater than or equal
6) Logical operators
- || : or(하나라도 true라면 true로 계산됨)
- && : and
- ! : not
+ ||(or) 연산을 사용하는 경우 연산을 많이하거나, expression은 뒤에서 호출하는 것이 효율적
7) Equality
- == : loose equality
- 타입을 변경해서 검사
ex. string '5' == number 5 => true
string '5' != number 5 => false
- === : strict equality
- 타입이 다른 경우 다르다고 인식
ex. string '5' === number 5 => false
string '5' !== number 5 => true
- object equality
ex. const octopus1 = {name : 'octopus'};
const octopus2 = {name : 'octopus'};
const octopus3 = octopus1;
octopus1 == octopus2 => false
octopus2 === octopus2 => false
octopus1 === octopus3 => true
+ 확인해보기!
0 == false => true
0 === false => false(0은 bool 연산자가 아니기 때문)
'' == false => true
'' === fasle => false(''은 bool 연산자가 아니기 때문)
null == undefined => true
null === undefined => false (타입이 다르기 때문)
조건문
1) Conditional operators : if
- if(조건절) {
실행문
} else if(조건절) {
실행문
} else {
실행문
}
2) Ternary operator : ?
- 조건절 ? true인 경우 실행문 : false인 경우 실행문
- 간단한 경우에서만 활용하기
3) Switch statement
- swtich(변수) {
case 상태 :
실행문
break;
case 상태 :
실행문
break;
}
- 변수가 특정 케이스와 동일한 경우 실행
- 같은 내용을 실행할 경우 case를 붙여서 사용
반복문
1) While
- while(조건문) {
실행문
조건 변수 제어문
}
- 괄호 안 조건문에 true인 경우 반복
2) do while
- do {
실행문
조건 변수 제어문
} while(조건문)
- 블럭을 실행한 후 조건을 검사
3) for
- for(시작; 조건; 단계){
실행문
}
+ 이중반복문을 실행하게 될 경우 : 실행시간 O(n**2)
-> CPU에 좋지 않음!! 지양하기!
4) break : 루프 끝내기
5) continue : 지금 단계만 넘어가고 다음 단계 실행하기
+ 변수를 제외하고는 다른 언어들과 operators가 완전 똑같아서 이 부분에서 어려움을 느끼는 일은 없을 것 같다!
++ 알고리즘에서 지긋지긋하게 봤던 저 실행시간 계산 간만에 보니 좀 반가운 것 같기도 ㅎㅎ
+++ 이제 정처기 필기 시험 접수가 곧 다가오던데 슬슬 정처기 공부도 시작해야겠다!
'개발 공부 > JavaScript' 카테고리의 다른 글
6. 클래스와 오브젝트의 차이점 (0) | 2022.01.19 |
---|---|
5. Arrow function (2) | 2022.01.18 |
3. 데이터타입(let? var?) hoisting (0) | 2022.01.15 |
2. async와 defer의 차이점은? (0) | 2022.01.14 |
1. JavaScript 역사 (0) | 2022.01.14 |