[JS] 숫자와 문자, 변수, 연산자

생활코딩의 자바스크립트 강의Do it! 웹 프로그래밍을 위한 자바스크립트 기본편을 공부하며 개념들을 정리합니다.

1. 숫자와 문자

숫자는 +, -, *, / 을 통해 연산할 수 있다.

다른 대부분의 언어들과 마찬가지로, 자바스크립트에서 문자는 큰따옴표 혹은 작은따옴표로 감싸 줘야 한다.

document.write("javascript");

문자의 뒤에 변수가 있을 때, 변수의 값이 숫자라고 하더라도 문자로 인식된다.

var a = 100;
document.write("I'll give you " + a);

이 경우, I'll give you100 이 출력된다.

2. 변수

자바스크립트의 경우, 변수를 선언할 때 변수에 담기는 데이터의 유형에 영향을 받지 않는다.
var라는 명령을 통해 선언할 수 있다.

내가 공부한 콘텐츠들의 경우, var 를 사용한 변수의 선언에 대한 설명밖에 없었다.
(ES6 전의 교재들이다.) var 외에 let을 사용한 선언도 가능하다는 설명이 있다.

var a = 1;
var b = 2;
var c = 3;

이렇게 변수를 선언할 수 있다.

var와 let의 차이점은 변수에 중복 선언을 할 수 있는가의 여부인 것 같다.
const의 경우에는 중복 선언도 재선언도 불가능한, 상수를 선언할 때 사용해야 하는 명령어이다.

3. 연산자

처음 자바스크립트 언어를 공부하는 입장에서 굉장히 재미있는 부분이었다.
자바스크립트에서는 '==' 와 '===' 이 다르게 활용된다.

var a = 1;
var b = '1';

이렇게 각자 다른 데이터 타입으로 선언된 변수에서, a와 b를 비교한다면

a == b  // 이것은 true가 된다.
a === b // 이것은 false가 된다.

정말 너무너무 재미있지 않나요? 진짜 신기하다!
이 링크를 통해서 == 연산자와 ===이 어떻게 다른지를 볼 수 있다.

대략 내가 이해하기로는
'=='이 더 얇은 벽이라고 생각했다. 우리가 보는 첫번째 감각에서 같다고 여겨지면 '=='은 같다고 판단해 주는 것이다. 하지만 '==='을 활용해서 그 안까지 확인한다면, '=='의 활용에서 true라고 여겨졌던 것도 false가 될 수 있는 것이다.
하지만 그렇다고 해서 '=='에서의 판단이 틀린 건 아니다. 우리가 얼만큼을 짚고 넘어가고 싶느냐에 달렸다. 우리는 코드를 얼만큼 엄격할게 대할지 선택할 수 있다.

내가 공부한 자료들에서는 '==='을 활용하는 것을 강력하게 추천한다. 아마 나도 뭔가를 만들면 그렇게 할 것이다. 하지만 난 '=='와 '===' 이 두 가지의 경우를 나눠서 생각하는 게 더 좋다는 생각도 한편으로는 든다. 컴퓨터 입장에서는 이런 경우의 수가 혁신적인 것일지도 모른다!

그 외의 비교연산자는 다른 대부분의 언어들과 마찬가지로 < , >, =을 사용한다.
or의 경우 '||', and 의 경우 '&&'을 사용하면 된다.

좋은 웹페이지 즐겨찾기