본문 바로가기

JavaScript

[JavaScript] 기본 문법 1

1. let 

- 일반적으로 쓰이는 변수 선언 타입, 값 변경 가능.

- 읽고 쓰기 가능

 

2. const

- 값이 고정 변수 타입, 값 변경 불가능.

- 고정인 값으로 선언할 때.  

- 보안상 이유로 좋음.

- 실수 방지.

- 읽기만 가능

 

3. var 

- 제발 쓰지마.

- var은 규칙이 없음. 지 마음대로임. 

 

4. block 안과 밖

let globalName = 'global name';

{
    let name = 'ellie';
    console.log(name);
    name = 'hello';
    
     console.log(name); // hello
}

console.log(name); // empty

console.log(globalName); // global name

 

5. string

- 기호를 이용해 편하게 작성 가능

const brendan = 'brendan';
const greeting = 'hello ' + brendan;

// 아래와 같이 편하게 작성 가능
console.log(`value : ${greeting}, type: ${typeof greeting}`);

 

6. Infinity, -Infinity, NaN

- Infinity, -Infinity, NaN와 같은 값 조심.. 에러 날 수 있음.

const infinity = 1 / 0;
const negativeInfinity = -1 / 0;
const nAn = 'not a number' / 2;
console.log(infinity); //Infinity
console.log(negativeInfinity); //-Infinity
console.log(nAn);//NaN

 

7. number

- 정수, 실수 데이터 타입 number

 

8. boolean

- false : 0, null, undefind, NaN, ''

- true : any other value

 

9. null

 let nothing = null;
 console.log(`value : ${nothing}, type : ${typeof nothing}`) // value : null, type : object

 

10. undefined

 let x;
 console.log(`value : ${x}, type: ${typeof x}`) // value : undifined, type : undifined

 

11. symbol

- symbol이란 타입도 있네

- 고유한 식별자, 우선순위를 주고싶을 때

 const symbol1 = Symbol('id');
 const symbol2 = Symbol('id');

 console.log(symbol1 === symbol2); // false

 const gSymbol1 = Symbol.for('id');
 const gSymbol2 = Symbol.for('id');

 console.log(gSymbol1 === gSymbol2); // true

// 출력 할 때 description 사용
 console.log(`value: ${symbol1.description}, type : ${typeof symbol1}`) // value : id, type : symbol

 

12. object

- 할당된 오브젝트는 다른 오브젝트로 할당이 되지 않음.

- 값 변경 가능.

- JSON 데이터랑 햇갈리네 - JSON은 키가 "key" 임

const ellie = {name : 'ellie', age: 20};

console.log(ellie); //ellie 

ellie.name = 'joonghyun';

console.log(ellie) //joonghyun