라벨이 ===인 게시물 표시

[JavaScript] 대입, 비교, 부정, 조건 연산자(삼항연산자)

이미지
# 부정연산자( NOT (!) ): true값은 false로 false값은 true로 반환해준다. ! true ==> false ! false ==> true ! 0 ==> true NOT을 두개 연달아 사용(!!)하면 값을 불린형으로 변환할 수 있다. !! "this is string" ==> true !! null ==> false !! 1 ==> true 참고로 내장 함수 Boolean을 사용하면 !!을 사용한 것과 같은 결과를 도출할 수 있다. # 대입연산자: = 대입연산자(=) 는 변수에 값을 지정해주는 연산자이다. ex) a=1  b=1  a+b=2 이런식으로 각 변수에 값을 지정해주고 결과를 얻을수있게해준다. # 비교연산자 (동등연산자 == 와 일치연산자 ===) 위의 사진은 숫자 1과 문자열 1을 비교하는것이다. 위 사진에서 일치연산자 ===를 사용할 경우 데이터 타입과 값을 비교해주어 숫자 1과 문자열 1은 데이터 타입이 동일하지 않기에 false 값을 반환한다. 반면에 동등연산자 ==를 사용할 경우 데이터 타입은 비교하지않고 겉보기만 같으면 숫자 1과 문자열 1은 같기에 true값을 반환한다. ===는 '엄격하게 같다'라는 의미이다. '엄격하게'의 의미는 변수 타입까지 고려한다는 것이다. 완벽한 코드를 작성하기위해서는 ==가아닌 ===를 사용해야지 버그없는 코드를 작성할 수 있다. 추가적으로 비교연산자는 String(문자열), Number(숫자), Boolean값 끼리는 비교가 가능하지만 배열과 같은 객체끼리의 비교는 불가능하다.  배열은 객체인데 객체끼리 비교시 같은 값을 가지고 있더라고 false를 반환하기 때문이다.  배열 뿐만아니라 모든 객체는 같은 값을 가지고있는 객체라도 비교시에 false값을 반환한다.  객체는 형태와 데이터 타입을 비교하지않고 값이 저장된 메모리 주소를 비교하기 때문이다.  하지만 이러한 객체도 비교...