기본 문법 배우기 - 2

혀어어언·2023년 3월 19일
0

Let's Get It JS 요약

목록 보기
3/7

불값(Boolean)

  • 컴퓨터는 실제로 1과 0밖에 모름

  • 1과 0은 각각 참과 거짓에 대응됨

  • JS에도 true와 false로 나타내는 불값(boolean)이라는 자료형이 있음

    • JS의 boolean 타입은 true와 false의 두가지 값을 가지는 논리적인 개체(a logical entity)를 나타냄
  • 영국의 수학자 조지 불(Georg Boole)에서 따온 이름

불 값 표현하기
  • 불값 표현 시 따옴표로 감싸지 않고 truefalse를 입력함
true;
false;
비교 연산자(comparison operator) 사용하기
  • 불값을 배우고 나면 참과 거짓을 프로그래밍 할 수 있음
  • 참과 거짓은 놀리식의 결괏값으로 주로 사용됨
> 5 > 3	//	true
> 5 >= 4	//	true
> 5 <= 3	//	false
연산자이름의미true 반환
==Equal같음피연산자(operands)의 값이 동일한 경우
!=Not equal같지않음피연산자(operands)의 값이 동일하지 않은 경우
===Strict equal피연산자의 값과 자료형(type)이 모두 동일한 경우
!==Strict not equal피연산자가 같은 타입이지만 값이 다르거나, 다른 자료형(type)인 경우
>Greater than초과좌측의 피연산자가 우측의 피연산자보다 값이 큰 경우
>=Greater than or equal이상좌측의 피연산자가 우측 피연산자보다 값이 크거나 같은 경우
<Less than미만좌측 연산자의 값이 더 큰 경우
<=Less than or equal이하좌측 피연산자의 값이 더 크거나 같은 경우
비교 연산자 특이점
NaN끼리 비교하기
  • 값 중에서 NaN은 비교 시 독특한 성질을 띔
  • NaN끼리 비교 시 false 반환
> NaN == NaN	// false
> NaN >= NaN	//	false
> NaN <= NaN	// false
> NaN != NaN	// true
boolean 비교하기
> true > false	//	true
> true >= false	//	true
> true <= false	//	false
문자열 비교하기
  • 기본적으로 문자의 번호를 따르기 때문에 문자의 번호가 클 수록 값이 큼
    • 문자의 번호 알아보려면 str.charCodeAt()메서드 사용
  • 첫 문자가 같은 글자일 경우 첫 문자를 빼고 나머지를 다시 비교. 사전식 비교
> 'b' > 'a'	//	true;
> 'b'.charCodeAt()	//	98
> 'a'.charCodeAt()	//	97
> '@'.charCodeAt()	//	64
숫자와 다른 자료형 비교
  • 다른 자료형이 모두 숫자로 형 변환된 후 비교
> '3' > 5	//	false
> '3' < 5	//	true
> NaN > 5	//	false
> NaN < 5	//	false
> true > 0	//	true
> true == 1	//	true
> true === 1	//	false
> true < 1	//	false
논리 연산자(Logical operator)
  • 논리식을 다룰 때는 불값을 많이 사용함
  • 진리표 참조
연산자이름사용의미
&&Logical AND표현1 && 표현2표현1이 false로 변환될 수 있으면 false 반환
그렇지 않으면 표현2를 반환
따라서 불값과 함께 사용되는 경우 두 피연산자 모두 true를 반환하면 true 반환
그 외의 경우에서는 false를 반환
``Logical OR
!Logical NOT!표현피연산자가 true로 변활될 수 있으면 false 반환
피연산자가 true로 변환될 수 없는 경우 true 반환
Not 연산자 사용해보기
  • !연산자를 연달아 두번 사용해서 다른 자료형을 불값으로 변환 가능함
    • 참인 값은 참에서 거짓으로 형변환되었다가 다시 거짓에서 참으로 변환
    • 거짓인 값은 거짓에서 참으로 형변환되었다가 다시 참에서 거짓으로 변환
> !true; //	false
> !false; //	true
> !!true; //	true
> !!false; //	false
> !!''; //	false
> !!0; //	false
> !!NaN; //	false
> !!null; //	false
> !!undefined; //	false


// ! 연산자를 사용해서 다른 자료형을 불 값으로 형변환해보자
> !!'a'	//	true
  • 문자열을 형변환 했을 때 어떤 값이 나오는 지 알아보는 방법
> Boolean('a')	//	true
> !!'a'	//	true
거짓인 값(falsy value)과 참인 값(truthy value)
  • falsy value(6가지 + document.all)
    • 형변환 후 false가 되는 값들
    • false, ''(빈문자열), 0, NaN, undefined, null, document.all
  • truthy value
    • 형변환 후 true가 되는 값들

빈값(Null과 undefined)

null
null 타입의 특이점
  • typeof null을 했을 때 결괏값이 null이 아니라 obejct
    • JS에서 유명한 버그
    • 원래 null이 나와야 하지만 언어가 만들어진 초창기 실수 때문에 obejct가 됨
    • 바꾸고 나면 기존에 typeof null식을 사용하는 모든 곳에 영향이 가기 때문에 바꿀 수 없게 됨
    • 따라서 값이 null인지 확인하기 위해서는 something === null과 같이 비교 연산자를 통해 확인해야 함
> typeof null; //	object
> null == false; //	false
> null == 0; //	false
> null == NaN; //	false
> null == undefined; //	true
> null === undefined; //	false
undefined
  • 할당되지 않은 값을 가진 변수는 undefined 값을 가짐
  • 즉, 변수가 선언되었으나 초기화되지 않은 경우
> typeof undfefined	//	undefined
> undefined == false	//	false
> undefined == 0 	//	false
> undefined == Nan	//	false
> undefined == null	//	true
> undefined === null	// false

0개의 댓글