본문 바로가기

프로그래밍/JavaScript

19.11.18) Javascript - 자료형, 변수, 연산자

목차

* 자료형

* 변수

* 연산자

자료형

자바스크립트의 자료형은 Number, String, Boolean, Null, undefined, Object로 나눠진다. 그동안 배운 파이썬보다 더 심플한 것 같다. 특히 숫자는 정수, 실수로 나눠지지 않는다.

변수

변수는 일반 변수와 참조 변수로 나눠진다. 일반 변수는 내가 넣은 값이 들어가 있는 변수다. ex) var a = 10; 이면 a라는 변수 안에는(정확히 메모리 안에는) 10이 들어가 있다.

참조 변수는 값의 주소를 가지고 있는 변수다. 참조라는 말이 어렵지만 쉽게 말하면 주소를 가지고 있다는 의미이다. 객체를 변수에 담을 때 그 변수에는 객체가 들어가지 않고 **객체의 주소가 들어간다.** 왜 이렇게 했을까는 더 공부를 해야겠다. 그래도 추측하자면 값을 쉽게 바꿀 수 있게 하려는 게 아닐까?

즉, 객체를 바꾸면 그 주소를 가지고 있는 참조변수 전부가 바뀐다. 약간 자동화의 효과??

연산자

연산자야 다른 언어와 비슷하다. >, <, >=, <=, ===, != 등이다. `===`는 다른 언어와 차이가 있다. 보통 `==`를 사용하는데 자바스크립트에서는 둘의 차이가 있다. `===`은 두 변수의 자료형(type)과 값(value)이 같은지 물어보는 연산자다.

하지만 `==`은 두 변수의 자료형이 다르지만 값이 같으면 true로 출력한다.

자바스크립트에서 자동으로 변환하는 것 같다.

그래서 `===`를 사용하는게 정확하다.

```javascript

vara = 5;

varb = "5";

console.log(a === b);

false

vara = 5;

varb = "5";

console.log(a == b);

true

```