본문 바로가기
Programming/JavaScript

[ JavaScript ] 자바스크립트 기본 문법 | 대입 연산자, 동등 연산자, 일치 연산자 | Undefined 와 null 차이점

by 코뮤(commu) 2021. 2. 2.
728x90
반응형

 

 

이미지 출처 :  https://commons.wikimedia.org/wiki/File:JavaScript-logo.png

 

 

 

 

해당 포스팅은 생활코딩의 이고잉 님의 강의를 기반으로 작성된 포스팅임을 미리 알립니다.

 

 

 


 

자바스크립트 기본 문법  ::  대입 연산자(Assignment operator)

 

 

 

대입 연산자는 변수에 값을 대입할 때 사용하는 연산자입니다.

 

기호는 = 을 사용합니다.

 

변수명 = 상수 혹은 변수;

 

사용하는 형식은 위와 같습니다.

 

var a=0;
a=1; // 대입연산자를 이용하여 a라는 변수에 1을 대입.

console.log(a);

 

 

 

 

 

 

 

자바스크립트 기본 문법  ::  동등 연산자(Equal Operator)

 

 

 

동등 연산자는 좌항우항비교하여 값이 같다면 True 를, 다르면 False를 반환하는 연산자입니다.

 

기호는 == 을 사용합니다.

 

 

 

console.log(1==1); // true
console.log(1==2); // false
console.log('a'=='a'); // true
console.log('a'=='b'); // false

 

 

 

 

 

 

 

자바스크립트 기본 문법  ::  일치 연산자(Strict equal Operator)

 

일치 연산자는 좌항 우항 엄격하게 비교하여 값이 같다면 True 를, 다르면 False를 반환하는 연산자입니다.

 

기호는 === 을 사용합니다. 

 

기본적으로 같은지 다른지를 비교하여 참 또는 거짓 여부를 리턴하는 것은 동등연산자와 같은데,

동등 연산자와 무엇이 다른 걸까요?

 

 

 

아래의 예시를 먼저 보도록 하겠습니다.

 

 

 

 

 

 

위와 같이, 자바스크립트는 데이터의 타입이 다르더라도 가지고 있는 정보의 의미가 동일하다면

이를 같은 값으로 여기기 때문에, 예시에서 true가 출력됩니다.

 

 

 

 

 

 

만약 일치 연산자를 사용한다면 데이터의 타입까지도 고려하게 되어

false 가 출력되는 것을 알 수 있습니다.

 

 

 

 

Undefined VS null

 

 

undefined 와 null 은 아무 값도 없다는 의미로,

비슷해 보이나 굉장히 다른 차이점을 가지고 있습니다.

 

가장 큰 차이점은 개발자의 의도 유무로,

 

undefined 는 개발자가 의도하지 않게 값이 들어가지 않은 것이고,

 

null 은 개발자가 값이 없도록 의도한 것입니다.

 

 

 

 

 

값이 없다는 측면에서 동등 연산자를 이용하면 true 를 볼 수 있지만,

엄격한 기준을 대고 비교하면 둘은 엄연하게 다른 것이기 때문에 일치 연산자를 이용하면 false가 출력됩니다.

 

 

 

 

 

 

자바스크립트 기본 문법  ::  True or False

 

 

자바스크립트에서 동등연산자(==)는 1을 true로 인식하고,

 

일치 연산자(===)는 1을 false 로 인식합니다.

 

 

alert(null == undefined);       //true
alert(null === undefined);      //false
alert(true == 1);               //true
alert(true === 1);              //false
alert(true == '1');             //true
alert(true === '1');            //false
 
alert(0 === -0);                //true
alert(NaN === NaN);             //false

 

 

위의 예시에서 NaN 은 0/0 으로, 성립이 되지 않는 식이기 때문에 false 를 반환합니다.

 

 

 

728x90
반응형