on
[JS] 변수와 비교
[JS] 변수와 비교
변수란?
값을 담는 컨테이너로 유지할 필요가 있을 때 사용하는, 이곳에 담긴 값은 변하는 것이 가능하다.
JS에서의 변수는 var을 사용한다.
var은 변수를 사용한다고 선언하는 것이다.
변수에 대한 기본적인 사용법
var a=1; alert(a); a=10 alert(a); //a는 어떠한 값을 담는 그릇이다. a=1; b=2; alert(a+b); var first = "coding"; alert(first+ "practice"); //처음 변수 선언시 var을 선언하지만 그 후에는 변수 선언이 완료된 상태이기에 var선언을 생략해줘도된다. first = "코딩" alert(first+ "practice"); var a = "coding", b="every body"; alert(a+b);
Q.그럼 변수는 왜 사용하는 것일까?
A. 변수의 큰 장점은 코드의 재활용성을 높여주는 것이다.
변수의 효용성
var a=100; : //(상단)변수에서 변할 수 있는 영역 //(하단)변수에서 변하지 않는 영역 a= a+10; alert(a); a=a/10; alert(a); a= a-10; alert(a); a= a* 10; alert(a);
비교란?
값과 값 사이의 크기가 일치하는지, 크거나 작은지 비교하는 데 사용된다.
연산자: 어떠한 작업을 컴퓨터에게 지시하기 위한 기호이다.
a=1 : 식의 풀이(하단)
a->(변수) / 1 ->(값, 상수) / = ->(대입 연산자, (좌항에 있는 값을 우항에 대입한다.), 이항 연산자(좌항과 우항 두 개의 값을 연결하는 연산자))
그럼 비교 연산자에 대해서 배워보자.
== 동등 연산자(equal operator) 좌항의 값과 우항의 값이 서로 같다. > 비교 연산자 좌항의 값이 우항의 값보다 크다. < 비교 연산자 우항의 값이 좌항의 값보다 크다. === 일치 연산자(strict equal operator) 좌항과 우항이 '정확'하게 같을때 . = 대입 연산자 우항의 값을 좌항에 대입한다. != !는 반대(부정)의 의미를 가진다. ==와 정반대의 결과를 보여준다 !== !==는 !=와 ==의 관계와 같다. 정확하게 같지 않다는 의미이다. >= 비교연산자 좌항이 우항보다 크거나 같다. <= 자비교연산자 우항이 좌항보다 크거나 같다.
(상단)이러한 값을 가질 때 True의 값을 출력한다.
비교 연산자는 True / False의 값을 뽑아낸다. (블린의 데이터 형식을 가진다.)
동등 연산자와 일치 연산자
//일치 연산자 alert(1 === "1"); //false의 출력 값을 뽑아낸다. //좌항과 우항의 데이터 타입(형식)과 값이 정확히 일치해야한다. //동등 연산자 alert(1 == "1"); //true의 출력 값을 뽑아낸다. //데이터 타입은 다르지만 정보의 의미는 동일하기 때문에 true의 값을 출력한다.
Q. python,c와 같은 언어와 다르게 JS에선 왜 true를 왜 뽑아낼까?
A. JS와 PHP의 특이한 점은 값이 같은 의미를 가진다면 같다고 인정해준다.
*거대한 프로그램을 운영할때 동등 연산자를 사용한다면 버그나 오류가 발생할 확률이 크다.
*작은 프로그램을 편리 할 수 있지만 문제가 발생할 확률이 크기에 정확한 형식을 맞춰 사용하는 것이 좋다.
null과 undefined의 차이점
alert(null=undefined); //null 값이 없는 상태(프로그래머가 의도한) //undefined 값이 정의되지 않는(프로그래머가 의도하지 않은 상황) var a = null; alert(a); // null을 출력한다. alert(undefined == null); //True 출력 alert(undefined === null); //False 출력 //boolean데이터 타입에서 true는 1로, 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 // 0과 0을 나누었을때 NaN의 데이터 타입을 지닌다. // * 0/0 = NaN이다.
JS가 가진 카테고리와 데이터 타입
카테고리 / 데이터 타입(data type) 데이터(data) Boolean True / False Number -1, 0 , 1 , 2 , 3 String "a", "b" ,"c" undefined undefined null null
from http://yoon-min-codinglog.tistory.com/4 by ccl(A) rewrite - 2021-10-16 14:00:38