연산자 & 조건문 & 반복문
연산자
할당 연산자
let x = 0
x += 123
console.log(x) // 123
x -=23
console.log(x) // 100
x *= 2
console.log(x) // 200
x /= 10
console.log(x) // 20
x++
console.log(x) //21
x--
console.log(x) //20
- Increment(++) : 피연산자의 값을 1증가
+=1
같은 형식 권장(Airbnb Style Guide)
- Decrement(--) : 피연산자의 값을 1감소
-=1
같은 형식 권장(Airbnb Style Guide)
비교 연산자
- 숫자,문자,Boolean 등을 비교하여 결과값을 boolean으로 반환
- 문자 연산의 경우 유니코드 값을 기준으로 계산
const num1 = 1
const num2 = 2
console.log (1>2) //false
const str1 = 'a'
const str2 = 'c'
console.log(str1<str2) // true
동등 비교 연산(==)
두 피연산자가 같은 값으로 평가되는지 비교, boolean 값 반환
타입 변환을 통해 타입을 일치시킨 후 같은 값인지 비교
이때문에 문제 발생
0 == '0' //true 0 == [] //true '0' == [] //false
일치 비교 연산(===)
- 두 피연산자가 같은 값으로 평가 되는지 비교 후 boolean값 반환
- 동등 비교 연산(==)과 다르게 타입 변환이 발생x
- 두 피연산자가 모두 객체일 경우 메모리상 같은 객체를 지칭하는지 판별
논리 연산자
- && : and
- || : or
- ! : not
console.log(true && false) //false
삼항 연산자
- 세 개의 피연산자를 사용하여 조건에 따라 값을 반환
- 조건식이 참이면 콜론(:) 앞의값을, 아니면 뒤의값을 반환
console.log(true ? 1:2) //1
조건문
if
조건 표현식의 결과값을 Boolean 타입으로 변환 후 참/거짓 판단
if (condition) { ~~ } else if (condition) { ~~ } else { ~~ }
() 안에 조건, {} 안에 실행할 코드 작성
블록 스코프 생성
switch
조건 표현식의 결과값이 어느 값(case)에 해당하는지 판단
switch(expression){ case 'value':{ ~~ [break] } case 'value':{ ~~ [break] } [default: { ~~ }] }
표현식(expression)의 결과값을 이용한 조건문
표현식의 결과값과 case문의 값과 비교
[break]
,[default:{}]
는 선택적으로 사용break문을 만나거나 default문을 실행할때 까지 조건문 실행
블록 스코프 생성
반복문
- while
- for
- for in
- 객체의 속성을 순회 할 떄 사용
- 배열도 순회는 가능, 랜덤으로 순회함(인덱스 순x)
- for of
- 반복 가능한 객체를 순회하며 값을 꺼낼 떄 사용
- Arrayt, Map, Set, String ...
- 반복 가능한 객체를 순회하며 값을 꺼낼 떄 사용
while
while (condition) {
~~
}
let i = 0
while (i<7) {
console.log(i)
i += 1
}
// 0 1 2 3 4 5 6 , 최종적으로 i === 7
condition이 true인 동안 반복
(조건) , {실행할 코드}
블록 스코프 생성
for
for (initialization; condition; expression){
~~
}
for (let i = 0; i<7; i++){
console.log(i)
}
// 0 1 2 3 4 5 6
- 세미콜론(;) 으로 구분
- initialization
- 최초 반복문 진입 시 한번만 실행
- condition
- 매 반복 시행 전 조건
- expresiion
- 매 반복 시행 이후 실행
- 블록 스코프 생성
for in
for (variable in object){
~~
}
const introduce = {
name: 'ljm',
blog: 'https://ljm0850.tistory.com/',
github: 'https://github.com/ljm0850'
}
for (let info in introduce) {
console.log(info)
}
/// name blog github
객체의 속성(key)들을 순회 시 사용
블록 스코프 생성
배열 순회는 가능.. 추천x
for of
for (variable of iterables) {
~~
}
const travel = ['터키','대만','인도네시아','중국','필리핀','태국']
for (let target of travel) {
console.log(target)
}
// 터키 대만 인도네시아 중국 필리핀 태국
// of 대신 in 사용시
// 0 1 2 3 4 5
'SW > JavaScript' 카테고리의 다른 글
DOM 조작 & Event (0) | 2022.04.30 |
---|---|
함수 (0) | 2022.04.30 |
String & Array & Objects (0) | 2022.04.30 |
Data type & 변수 선언 & 식별자 (0) | 2022.04.30 |
intro (0) | 2022.04.30 |