[JS] 데이터 타입

unknown_zing·2022년 5월 18일
0

JAVASCRIPT 문법

목록 보기
2/34

[ 변수 ] Variable

> let

mutable type

  • 무조건 선언을 먼저 해야함.
  • 블록 내에서만 유효.

'var' 절대 쓰지 말것!

왜?

  • 선언 순서 상관없이 돌아감. (hoisting)
  • 블록 밖에서도 유효.

hoisting : 어디에 선언했느냐에 상관없이 제일 위로 선언을 끌어올려주는 것.

age=4;
console.log(age);
var age;
// 4 출력 
// 이런게 var hoisting

[ 상수 ] Constants

> const

immutable type

  • 값 변경 불가능 (당연히 변수가 아니라 상수니까)
    -보안 상 장점.
    -여러 thread 가 동시에 변수값을 바꿀 수가 있는데, 굳이 바뀔 필요 없으면 안전하게 상수로.
    -코드 변경, 협업 시 값이 바뀌는 실수 방지.

[ 데이터 타입 ]

> number 숫자형

( int, float, long, double ... 없! 음! )

> string 문자형

( char 없! 음! )

  • '+' 연산을 통해 문자열 합치기 가능
  • template literals 기능 있음.
 let a=12;
 let b=13;
 let c='크리스마스';
 console.log(`${a}월 ${a+b}일은 ${c}입니다.`);
 // 12월 25일은 크리스마스입니다.

> boolean 참/거짓

  • false
    0, null, undefined, NaN, ' '(비어있는 string)
  • true
    false 빼고 다

> null

' 넌 텅 빈 값이야! ' 라는 값이 지정된 것.

> undefined

선언은 됐는데, 값은 정해지지 않은 것.

> Symbol 고유한 식별자

  • Map이나 자료구조에서 고유한 식별자 필요할 때.
  • 동시 다발적인 코드에서 우선순위 주고 싶을 때.
  • 똑같은 문자열도 다른 식별값를 가짐.
const symbol1 = Symbol('id');
const symbol2 = Symbol('id');
console.log(symbol1 === symbol2); //false
// Symbol( ) 을 쓰면 같은 문자열도 다른 식별자 가짐.

const gSymbol1 = Symbol.for('id');
const gSymbol2 = Symbol.for('id');
console.log(gSymbol1 === gSymbol2); //true
// Symbol.for( ) 을 쓰면 같은 문자열은 같은 식별자 가짐. 

> object

{ 속성1: 값1 , 속성2: 값2, ... }

const student = { name:'Max', age:20 };
student.age = 21; // 이렇게 변수에 접근
profile
불안한 개발자 지망생의 날 것의 공간

0개의 댓글