Var -> let
- 사용 하지 말것
- 이유는 hoisting(선언 변수가 글로벌처럼 상단으로 가기 때문에)
- NO block scope( '{ }'안 에서 선언한 것은 안에서만 쓸 수 있고 밖에서는 더 이상 사용할 수 없는데, var은 밖에서도 사용가능 = global variable)
const(constants)
- favor immutable data type due to some reasons(security, (hardware)thread safety, reduce human mistake)
Variable Types
- Primitive, single item : number, string, boolean, null, undefiedn, symbol
- Object, box container : single items를 하나로 묶어서 관리하는 단위
- Function, first-class function = 1) function도 변수에 할당이 가능, 2) 함수의 parameter의 인자로도 전달 가능 3) 함수에서 return type으로도 function을 return 가능
tip
console.log에서 '+'를 사용하기보다 전체를 ' ' 로 묶고 변수를 $ { } 처리하여서 결과값을 만들것
const count = 17; // integer
const size = 17.1; // decimal number
console.log('value : ${count}, type : ${typeof count}');
console.log('value : ${size}, type : ${typeof size}');
Boolean
False : 0, null, undefined, Nan, ' '
true : any other value
symbol, create unique identifiers for objects
- 심볼은 동일한 string을 사용하여도 다른 심볼로 만들어짐.
// 다름
const symbol1 = Symbol('id')
!= const symbol2 = Symbol('id')
// symbolo 출력
console.log('value : ${symbol1.description}, type : ${typeof symbol1}');
Object
const 로 변수값 지정한 ellie(ref)는 변경 할 수 없지만, 그 안에 속성값(field) name, age는 변경 가능
ellie.age =21;
chanagle 영역에서 age --> from 20 to 21
object는 너무 커고 실제로 memory
Object's ref
실제 object가 가르키고 있는 곳이지만 이 ref 통해서 실제로 object가 담겨있는 memory를 가리는 것
출처
dream coding
'나의 FE피봇이야기 > Javascript' 카테고리의 다른 글
[JS]선언과 함수의 이해 (0) | 2023.09.13 |
---|---|
[JS]function 안 this의 History? (0) | 2023.09.12 |
[JS]data type 별 Memory 할당 그리고 reference의미 (0) | 2023.09.11 |
[JS] function 과 'window'의 개념 이해 (0) | 2023.09.09 |
[JS] JavaScript Way 객체지향 (0) | 2023.09.07 |