비교
1.연간자
연산자란 값에 대해서 어떤 작업을 컴퓨터에게 지시하기 위한 기호인데 우리는 이미 연산자를 사용했다.
아래 예제 중에서 '='는 우항의 값인 1을 좌항의 변수 a에 대입하는 '대입 연산자'다. 본 수업은 연산자가 무엇인가에 대한 이해를 돕기 위한 것일 뿐 외울 필요는 없다. 차차로 알게 된다.
a=1// a변 수 에 1을 저장한다 '='는 대입 연산 외항에 있는 것을 우항 으로 해서 연산(이학 연산자)
2.비교연산자(== 과 ==)
프로그래밍에서 비교란 주어진 값들이 같은지, 다른지, 큰지, 작은지를 구분하는 것을 의미한다.
이 때 비교 연산자를 사용하는데 비교 연산자의 결과는 true나 false 중의 하나다. true는 비교 결과가 참이라는 의미이고,
false는 거짓이라는 뜻이다. true와 false는 블린(boolean)이라고 불리는 데이터 형식인데 이것은 조건문에서 비중있게 다룰 것이다.
아래는 주요한 비교 연산자들의 종류와 그에 따른 예제들이다.
==
<
>
<
=
>
=
이걸로해서 boolean탑입인 ture falce로 결과 값을 확인한다
==(동등연산자 equal operator)
동등 연산자로 좌항과 우항을 비교해서 서로 값이 같다면 true 다르다면 false가 된다. '='가 두개인 것을 주의하자. '='가 하나인 것은 대입 연산자로 우항의 값을 좌항의 변수에 대입할 때 사용하는 것으로 의미가 완전히 다르다.
숫자만 비교하는 것이아닌라 다른 데이터 또하나 비교가가능하다
alert(1==2)
//false
alert(1==1)
//true
alert(
"one"
==
"two"
)
//false
alert(
"one"
==
"one"
)
//true
clear(); 하면 console창이 깨끗해진다
===
일치 연산자로 === 좌항과 우항이 '정확'하게 같을 때 true 다르면 false가 된다. 여기서 정확하다는 말의 의미에 집중하자. 아래 예를보자.
==는equal operator
===는 strict equal operator (엄격한 동등 연산자 )
alert(1==
'1'
);
//true
alert(1===
'1'
);
//false
일치연산 자를 사용하게 되면 좌항과 우항에 정보가 같을 뿐만 아니라
데이 터의 형식 또 한 같아야 true를 반환한다
하지만 동등 연산자는 좌항과 우항의 값의 타입이 달라도
실질적으로 갖고 있는 정보가 동일하다면 , java script는 같은 값으로 인정해주는 연산자를제공해준다
이러한 기능이 잇어 서 좋은 것만은 아니다 비슷한 것을 같은 것으로 인정해주는 연산이 있으므로 해서 그 프로그램이 버그를 발생시키기 쉬운 상황을 만든다
프로그램이 작을 때는 만든 사람이 구조나 동작 을 모두 이해하고 있어 편리 하지만 큰 프로그램을 만들때는 작은 부분에 문제만 생겨도 프로그램 전체가 문제가 생길 수 있고 많은 사람에게 영향을 미치는 프로그램이라면 (중요한 역할 을 하는 프로그램 )
심각한 일을 초래 할 수 있다 .그럼므로 비슷하면 같은 것으로 처리한는 것은 좋은 것만은 아니다 그래서 이제 알았으니 '==' 보단 '===' 이것을 권유한다
3.===를 사용하자
null은 값이 없다는 것이고
nudefined는 값이 정의 되지 않았다 는 뜻
undefined
var a;
alert(a);
null
var a=null;
undefined= 의도하지 않음그냥 값이 없다 는 뜻
null=값이 없지만 프로그램어가 의도적으로 값이 없는 상태를 그곳에 부여한것
alert(undefined==null);// true
alert(undefined===null);// false
값이 없는 것은 같지만 의도 한것과 의도 하지 않은 것을 엄격하게 보면 다르다는 것을 알 수 있습니다
java script에서 동등(==) 연산자는 1을 true로 해석하고 1을 제외한 모든 숫자를 false로 해석한다
alert(true)// true
alert(true==1)// true
alert(true==2)// false
alert(true==3)// false
alert(true===1)// false 다르다고
alert(true=='1')// true
alert(true==='1')// false 도 한 다르다고 해석한다
alert(0===-0)// true 왜냐면 0은 그냥 0이기 때문에
0/0//NaN 계산할 수 없음 /숫자가아님
alert(NaN===NaN);// 같은 것이라 할지라도 다르다고 나온다
NaN은 0/0과 같은 연산의 결과로 만들어지는 특수한 데이터 형인데 숫자가 아니라는 뜻이다.
==과 ===의 차이점
== 같지 않음에도 불구 하고 같다고 표현하는 경우가있습니다
=== 같은 것만 같다 고 보여줍니다
초록부분이 true를 반환하는 것이 참고하면 좋겠습니다
4.부정과 부등호
!=
'!'는 부정을 의미한다. '같다'의 부정은 '같지 않다'이다. 이것을 기호로는 '!='로 표시한다.
밑을 보면 !=의 결과인데 ==과 정반대의 결과를 보여준다.
alert(1!=1);
alert(1!=2);
alert("one"!="two");
alert("one"!="one");
!==
'!=='는 '!='와 '=='의 관계와 같다. 정확하게 같지 않다는 의미다. (equal 중요하다)
>
좌항이 우항보다 크다면 참, 그렇지 않다면 거짓임을 알려주는 연산자다. '<'는 반대의 의미로 언급은 생략하겠다.
alert(10>20);//false
alert(10>1);//true
alert(10>10);//false
>=
좌항이 우항보다 크거나 같다. '<='는 반대의 의미로 언급은 생략하겠다.
alert(10>=20);//false
alert(10>=1);//true
alert(10>=10);//true
'생활코딩 JavaScript' 카테고리의 다른 글
조건문-4.논리연산 5.Booklean의 대체재 (0) | 2018.11.17 |
---|---|
조건문-1.조건 문이란?(if,else)2.else,else if 3.조건문의 응용 (0) | 2018.11.16 |
변수 -1변수사용법 2변수의 효용 (0) | 2018.11.16 |
숫자와 문자-2.수의 연산3.문자의표현4.문자 연산 (0) | 2018.11.16 |
숫자와 문자-1수의표현 (0) | 2018.11.15 |