SW/JavaScript

연산자 & 조건문 & 반복문

맛대 2022. 4. 30. 15:02

연산자 & 조건문 & 반복문

연산자

할당 연산자

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