예약어: 자바스크립트 내에서 이미 사용하고 있는 이름. 이미 사용중인 닉네임입니다.
변수 선언: 키워드를 사용해서 변수의 이름을 생성하는 것. 폴더 같은 거라고 생각하면 된다. 문자, 숫자, 언더바, 달러, 이 네 가지만 사용 가능하며, 그 중 숫자는 맨 앞에 올 수 없다. 상수의 변수는 대문자로 선언하는 것이 좋다. 직관적으로 알 수 있도록.
할당: 변수에 값을 집어넣는 것. 선언과 할당을 동시에 할 수도 있고 따로 할 수도 있다. 하지만 const는 반드시 선언과 동시에 할당을 해 줘야 한다.
초기화: 변수에 초기값을 할당하는 것이다.
키워드: 변수를 선언할 때 사용하는 단어. var, let, const 세 가지.
var: 재선언과 재할당이 둘다 가능하다. 그래서 문제가 생길 여지가 있다.
var cookie = 'choco' var cookie; (재선언 OK)
var fruit = 'lemon'; fruit = 'lemon'; (재할당 OK)
let: 재선언은 불가능하지만 재할당은 가능하다.
let car = 'hyundai';
let car;
(재선언 NO)
let cafe = 'TwosomePlace'; cafe = 'Coffeebean and Tealeaf'; (재할당 OK)
const: 상수를 선언할 때 쓴다. 재선언과 재할당 모두 불가능하다. 이건 위의 둘과는 다르게 선언과 할당을 동시에 해 줘야 한다.
상수: 변하지 않는 값. 숫자만 가리키는 건 아니다.
재선언: 변수의 이름을 다시 한 번 선언하는 것.
재할당: 값을 다시 할당하는 것. 이 과정에서 덮어씌워진다.
문자열(String): 문자도 string으로 간주한다. 문자열을 사용하려면 따옴표로 감싸야 한다. 다만 문자열 내에서 따옴표를 써야 할 경우, 큰 따옴표로 감싼 경우는 안에 작은 따옴표, 작은 따옴표로 감싼 경우는 안에 큰 따옴표를 넣는게 좋다.
템플릿 리터럴: 백틱(`)으로 감싸서 문자열을 표시한 것. 안에 ${}를 넣어서 수식이나 변수를 넣을 수 있다.
let name = bob; console.log(`안녕? 난 &{name}이야.`); >>결과값: 안녕? 난 bob이야.
역슬래시: 따옴표로 감싸서 쓸 경우, 이걸 특수문자 앞에 쓰면 특수문자를 그대로 인식할 수 있다.
+문자열의 경우 더하기(+)가 '연결 연산자'다. 이걸로 서로 연결할 수 있다. 둘 다 문자열이거나, 둘 중 하나만 문자열이면 더하기는 덧셈 연산자가 아닌 연결 연산자가 된다. 숫자의 경우도 따옴표로 감싸서 문자열이 되었다면, 더하기가 더하기가 아니라 연결 연산자가 되어서 숫자가 더해지는 게 아니라 이어진다.
+문자열이 아닌 자료형 뒤에 ""를 연결해주면 문자열이 된다.
숫자(Number): javascript에서는 정수든 실수든 다 number다.
0으로 나누면 콘솔 창에 'infinity'라고 찍히고, 문자나 문자열을 숫자로 나누면 NaN이 나온다.
숫자형이 아닌 데이터 앞에 더하기(+)를 붙이면 숫자형이 된다.
그러나 순서에 유의해야 한다.
+"5" >> 숫자
5 + "5" >> 문자열. 결과값이 55가 나온다.
+"5"+5 >> 숫자. 결과값이 10이다.
Boolean: 참 또는 거짓. 소문자로 써야 한다. true, false.
null/undefined: 비어 있는 상태.
+null: 일부러 빈 값을 넣은 것. 택배를 시켰는데 빈 상자가 온 것.
+undefined: 아무것도 넣지 않은 상태. 택배를 시켰는데 오지 않고 있는 것.
object: 객체형. 순서는 중요하지 않다. 점 표기법과 대괄호 표기법이 있다.
array: 배열형. 순서가 중요하다.
typeof: 자료형을 알 수 있게 해주는 연산자.
'typeof 5' 이런 식으로 쓰면 된다.
숫자를 따옴표 안에 쓰면 문자열로 인식되어 더하기를 쓰면 연결 연산자가 되어 숫자끼리 연결된다.
"5" + "6" = "56"
그러나 그 이외의 산술 연산자(*, /, %, 등등)는 숫자를 자동으로 숫자형으로 바꿔서 계산해준다.
오류로 분류되지 않아서 의도치 않은 결과가 나올 수 있으니 되도록 명시적 형변환을 써 주는 게 좋다.
String(): 문자열로 바꾼다. 바꿀 데이터를 괄호 안에 넣으면 된다.
str.toString(): 문자열로 바꾼다. String()과는 달리, 앞 부분에 바꿀 데이터를 넣고 점을 찍은 다음 메소드를 적으면 된다.
Number(): 숫자로 바꾼다. 괄호 안에 바꿀 데이터를 넣어준다. 문자열과 undefined는 NaN, true는 1, false와 null은 0이 나온다.
parseInt(): 정수로 바꾼다. 소수점이 있을 경우 소수점 아래의 내용을 버린다. 반올림 하지 않는다. 이것도 바꿀 데이터를 괄호 안에 넣어주면 된다.
Boolean(): true나 false로 바꾼다. 0, "", null, undefined, NaN을 제외하고 전부 true가 나온다. 빈 문자열 안에 띄어쓰기(공백)를 넣으면 true가 나온다. 주의.

자주 봐야 머릿 속에 들어온다.