JavaScript

[JS] JavaScript Operator

D cron 2021. 7. 24. 21:13

Increment operators

preIncrement

let counter = 2;
const preIncrement = ++counter;
// counter = counter + 1
// preIncrement = counter
console.log(preIncrement) //3

PostIncrement

let counter = 2;
const postIncrement = counter++;
// postIncrement = counter
// counter = counter + 1
console.log(postIncrement) //2

Logical operators

or 연산자 ||

and 연산자 &&

not 연산자 !

|| 연산자의 경우 true가 하나라도 나오면 그 다음 연산을 수행하지 않는다. 따라서 많은 연산을 수행해야 하는 것은 뒤로, 가벼운 연산들은 앞으로 코드를 작성하는 것이 좋다.

&& 연산자의 경우 false가 하나라도 나오면 그 다음 연산은 수행하지 않기 때문에 마찬가지로 무거운 연산은 뒤로 보내는 것이 좋다.

const val1 = false;
const val2 = 4 < 2;
console.log(`and: ${val1 && val2 && check()}`);

function check(){
	for(let i=0; i<10; i++){
    console.log('doing something')
    }
    return true;
}
//여기서 check()함수는 실행되지 않는다.

Equality

loose equality(느슨한 같음)

- type이 달라도 값만 같다면 같은 것으로 본다.

strict equality(엄격한 같음)

- 값과 type 모두 일치해야 같은 것으로 본다.

console.log('5'==5) //true
console.log('5'===5) //false

strict equality를 사용해야 더 엄격한 코딩을 할 수 있다.