데이터타입, data types, let vs var, hoisting
Last updated
Was this helpful?
Last updated
Was this helpful?
입력 연산 출력 -> CPU 최적화된 연산 + 메모리 사용 최소화가 중요하다.
변경될 수 있는 값 , 빈데이터에 변수를 선언 하고 값을 할당함
변수 변경될 수 있는 값을 선언할때 사용 (added in ES6)
읽기와 쓰기가 다 가능하다.
MUTABLE 타입이다. (변경가능)
코드를 블록 스콥해주면 블록스콥 안에서만 작동하게 된다.
반대는 {} 의 바깥 부분에서 선언된 globalname = 'gobal name'; 글로벌변수
전역변수는 어느곳이던 접근이 가능하다.
그리고 블록스콥 안에서도 인지하고 있음 그렇기떄문에 전역변수는 최소한으로 사용하는것이 좋고, 가능한 필요한곳에만 사용하는것이 좋다.
var은 값을 선언하기도 전에 쓸 수 있는 치명적인 단점이 있다.
var은 블록스콥{} 을 철저히 무시함 -> 안에서 선언해도 출력이됨.
var hoisting -> 어디에 선언 했는지 상관없이 항상 제일 위로 끌어올려주는것을 의미한다.
IMMUTABLE 변경 불가능함 한번 할당하면 값이 절대로 바뀌지 않음
보안상 상당히 좋음 , 변경될것이 없다면 const를 사용하는것이 좋음
읽기만 가능하다 다시 다른값으로 쓰는것은 불가능 하다.
primitive, single item: number, string, boolean, null, undefiedn, symbol
object, box container
function, frist-class function
c언어, java 에서는 숫자 변수 하나도 구체화 시켜서 데이터 관리를 할 수 있다.
short, int는 작은 단위의 데이타 long 은 큰 데이타를 관리할때)
short, int long은 정수 / float, double은 소수점 단위를 사용할때 사용
숫자 끝에 n 만 붙여주면 bigInt로 간주되어짐
크롬이랑 파이어폭스에서만 사용 가능함
주어진 식별자와 상관없이 고유한 값을 만들때 사용한다.
이렇게 예측 못하는 상황이 많기때문에 -> 타입스크립트가 나옴
primitive는 value 값자체가 메모리에 저장된다.
object는 용량이 너무 커서 바로 저장 할 수 가없다.
const 로는 변경이 불가능하지만 const의 변수를 object화 하면 object속성이기때문에 변경이 가능하다.