- JS는 HTML과 CSS 처럼 모양과 도형이 아닌, 데이터의 종류를 염두해 두며 사고해야함.
문자데이터 (string)
- 따옴표( ', " )를 사용하여 해당 데이터를 묶으면 JS 상에서 문자 데이터로 취급된다.
- 또한 백틱/backtick( ` ) 기호를 이용하여도 문자 데이터로 취급 할 수 있으며, 이때는
${내용}
으로 보간법을 사용 할 수 있다.
- 보간법을 통해 입력된 값은 모두 문자데이터로 취급되며, 내용에 변수의 이름을 기입하는 것으로 변수에 지정된 데이터를 호출 할 수 있다.
let name = "rock";
let country = 'korea';
let hello = `Hi my name is ${name}!`;
console.log(name);
console.log(country);
console.log(hello);
숫자데이터 (number)
- 아무 기호 없이 숫자를 작성하면 숫자데이터가 됨
- 그 값으로는 정수(1, 2, 3 등) , 부동소수점(1.2, 1.23, ,1.234 등) 이 사용된다.
let a = 100;
let b = 200;
console.log(a+b);
let a = '100';
let b = '200';
console.log(a+b);
- 만약 숫자에 따옴표를 입력할 경우 문자데이터가 된다.
- 숫자로 표시는 되지만, 엄연히 다르므로 문자열로 표시되며, 계산이 불가능해진다.
불린 데이터 (boolean)
- 참과 거짓을 표시하는 데이터이며, 기호없이
true
와 false
로 사용한다.
undefined
- 값이 할당되지 않은 상태를 뜻하는 데이터
- JS는 선언한 것에 어떠한 값이 없을때
undefined
이라는 데이터를 표시 함.
- 혹은 객체의 지정하지 않은 key 에 대해서도
undefined
를 표시한다.
let a ;
let b = "string";
let c = {
first : undefined,
second : "string"
};
console.log(a);
console.log(b);
console.log(c.third);
- c 라는 객체 안에 third 라는 key를 지정하지 않았기 때문에 undefined 가 표시된다.
null
- 의도적으로 비워 둔 것을 뜻하는 데이터.
undefined
는 이 값을 미처 할당하지 못한, 의도적이지 않은 빈 데이터를 뜻 함.
null
은 우리가 이 값을 의도적으로 비워두었다(명시적)는 것을 뜻 함.
let a ;
let b = null;
console.log(a);
console.log(b);
- a와 b 둘다 가지고 있는 실질적인 데이터는 없지만, 의도된 것인지 아닌지의 차이가 있다.
- 값이 바뀔 수 있는 변수에 쓰게 될까...?
객체 데이터 (object)
- 하나의 변수를 지정하고, 중괄호 { } 안에 여러 데이터를
key:value
(이름 : 값) 의 형태로 할당시킬수 있다.
value
에는 모든 데이터 타입들이 들어갈 수 있다.
- 변수명만 호출하는 경우에는 객체의 데이터 전부가 표시되며, 원하는 데이터를 호출하고자 할때는
변수명.key
로 호출 할 수 있다.
let me = {
name : 'rock',
country: 'korea'
}
console.log(me);
console.log(me.country);
배열 데이터 (array)
- 데이터들을 하나의 변수에 순차적으로 저장 할 수 있다.
- 대괄호 [] 안에 쉼표로 데이터들을 나누어 입력하여 여러 값들을 저장할 수 있다.
- 원하는 데이터를 호출하고자 할 때는
변수이름[순서]
로 해당 값들을 호출 할 수 있다.
- 이때, 순서는 0을 기준으로 시작한다.
- 만약 여기서 할당하지 않은 순서의 데이터를 불러올경우
undefined
가 표시된다.
let array = [1, 'two', 3, 'four', 5]
console.log(array[0])
console.log(array[3])
console.log(array[5])
- 배열의 5번(6번째)에 데이터가 없으므로,
undefined
가 표시.
+
- 괄호의 사용이 중요하다.
- 세미콜론( ; ) 굳이 안해도 되긴하나, 필요한 경우도 종종있다.
- 정리한다고 공부 속도가 너무 느리다... 정리는 나중에 하자 ㅠㅠㅠ