한입 크기로 잘라먹는 리액트(React.js)-section2. 자바스크립트 기본-연산자

0
post-thumbnail

연산자

대입연산자

let a = 1;
  • a 변수에 숫자 1을 대입해서 넣는 것 !

사칙연산자

연결연산자

  • 문자와 문자를 연결할 때 사용 !
  • 주의할 점: 둘 중 하나가 숫자였을때 묵시적 형변환이 발생해서 "1" + 2 이더라도, "1"+"2"형태로 연결되어 12가 출력됨 !

복합연산자(산술연산자+대입연산자)

  • +(덧셈), -(뺄셈), *(곱셈), /(나눗셈) 다 사용할 수 있음

증감연산자

  • 증감연산자는 a++(후위연산)하면, 바로 증가되는게 아니라 다음 라인에서 증가됨

  • 그렇기 때문에, console.log로 출력하면 연산이 적용되어 출력되는데

  • 따라서, 이 경우에는 증감연산자가 적용되지 않고 출력됨

  • 하지만, ++a(전위연산)의 경우

  • 연산을 만나자 마자 바로 적용됨

논리연산자

  • boolean
  • "!"(not의 의미)를 붙이면?
console.log(!false); //true
  • "&&"연산자
  • 피연산자가 모두 true면 true가 출력
console.log(true && true) //true
console.log(true && false) //false
  • "||"연산자
  • 피연산자 둘 중 하나면 true여도 true가 출력
console.log(true || true) //true
console.log(true || false) //true
console.log(false || false) //false

비교연산자

  • "==" 값만 비교하는 비교연산자

  • 숫자 타입 1과 문자 타입 "1"이 같은지 비교했는데, true가 출력

  • 값만 비교하기 때문(타입은 비교안함)

  • "===" 값과 타입을 모두 비교하는 비교연산자

  • 이 경우 값은 같지만(위에서 "=="연산자로 확인함) 타입은 다르기 때문에 false가 출력

  • 반대로 "!=" '값'이 같지 않다. 라고 비교 했을때와 "!==" '타입과 값'이 같지 않다. 라고 비교했을때

  • "!="는 값은 같으니까 false가 출력

  • "!=="은 타입은 같지 않으니까 true가 출력

그래서 안전한 비교를 위해 "==="을 사용하는 편이 좋음

  • 대소 비교

타입연산자(typeof)

  • 자바스크립트는 동적타입 언어이므로, 변수값을 재할당할때 타입이 변해도 상관없음
  • 처음에 숫자타입으로 변수를 선언했지만
  • 중간에 문자타입으로 변수 값을 재할당하면 타입이 바뀜
  • 하지만 오류를 발생할 수 있음

null병합 연산자(??)

  • 피연산자 중에 null이나 undefined가 아닌 값을 선택해서 출력
  • a의 값이 undefined이기 때문에 undefined값이 아닌 10이 출력됨
profile
`나는 ${job} 개발자`

0개의 댓글