Meme's IT

[JS] 연산자 본문

FrontEnd/JavaScript

[JS] 연산자

Memez 2023. 10. 24. 10:56

# 할당 연산자

오른쪽에 있는 피연산자의 평과 결과를 왼쪽에 할당하는 연산자

let a = 0

a += 10
console.log(a)	// 10

a -= 3
console.log(a)	// 7

a *= 10
console.log(a)	// 70

a /= 7
console.log(a)	// 10

a %= 7
console.log(a)	// 3

 

# 증가 / 감소 연산자

피연산자를 증가(1더함) / 감소(1빼기) 시키고

연산자의 위치에 따라 증감 전이나 후의 값을 반환

// 전위 연산자
let a = 3
const b = ++a
console.log(a, b)  // 4 4


// 후위 연산자
let x = 3
const y = x++
console.log(x, y) //4 3

 

※ 참고

할당 연산자와 증가/감소 연산자는 재할당

즉, 변수를 const로 선언하면 재할당이 불가능하므로 에러가 남

해당 연산자를 하나의 변수로 사용하려면 let으로 선언해야 한다.

let num = 12
num /= 3
console.log(num)		// 4 가능

const num = 12
num /= 3
console.log(num)		// 에러발생
let number = 13
number++		// 14

const number = 13
number++		// 오류

 

# 동등 연산자(==)

두 피연산자가 같은 값으로 평가되는지 비교후 boolean 값 반환

암묵적 타입 변환을 통해 타입을 일치시킨 후, 값을 비교

 

# 일치 연산자(===)

엄격한 비교가 이뤄지며 암묵적 타입 변환 x

특수한 경우를 제외하고는 동등(==)이 아닌 일치 연산자 사용 권장 

  • 동등 연산자(==)는 값만 같으면 됨
  • 일치 연산자(===)는 값과 타입까지 같아야 함
let str = "test"
let str2 = new String("test")

console.log(typeof(str))	// string
console.log(typeof(str2))	// object

console.log(str == str2)	// true
console.log(str === str2)	// false
// 객체끼리의 비교: 주소값이 다르므로 false
console.log(str2 === new String("test")) 		// false

 

# 논리 연산자

  • and 연산: &&
  • or 연산: ||
  • not 연산: !

 

 

 

'FrontEnd > JavaScript' 카테고리의 다른 글

[JS] 헷갈리는 문법들  (0) 2023.10.24
[JS] 조건문과 반복문  (0) 2023.10.24
[JS] 데이터 타입  (0) 2023.10.24
[JS] JavaScipt의 변수  (0) 2023.10.24
[JS] JavaScript와 DOM  (0) 2023.10.23