TIL 001 | JavaScript Basics

This Is Empty.·2021년 7월 29일
0

TIL

목록 보기
1/23
post-thumbnail

JavaScript 자료형

1. 데이터 타입

자바스크립트에는 다음 5개의 기본 데이터 타입이 존재한다.

  1. Boolean : true, false
  2. Null : null
  3. Undefined : undefined
  4. Number :7, -2, 3.8
  5. String : Hello, world!, JavaScript

Null과 Undefined의 차이

nullundefined 모두 자바스크립트 상에서 값이 없음을 나타낸다.

기본적으로 값이 할당되지 않은 변수의 초기값은 undefined이다. 데이터 타입으로는 undefined를 갖는다.

var a;
console.log(a) // undefined
console.log(typeof a) // undefined

null은 사용자가 부여한 '값이 없음'을 뜻하는 value이다. 데이터 타입으로는 object를 갖는다.

var b; 
console.log(b) // undefined

b = null;
console.log(b) // null
console.log(typeof b) // object

null이 데이터 타입으로 객체를 갖는 이유 🤔?

파이썬에서는 자바스크립트 상의 null객체를 None으로 표현했으며 데이터 타입 또한 NoneType을 가졌다.

  a = None
  print(type(a)) # <class 'NoneType'>
 

하지만 자바스크립트의 null은 데이터 타입으로 object를 갖는다.

var a = null;
console.log(typeof a) // object

이유는 여기에서 확인 할 수 있었다.

요약하자면
1. typeof null이 object인 이유는 초기버전의 버그이다.
2. 그럼에도 고치지 않은 이유는 기존 코드가 손상될 수 있기 때문이다. (하위 호환 문제)

2. 변수

변수 선언 방법

참조
Javascript 변수 선언

  1. var
var a; // 선언만 한 상태, "undefined"가 저장됨
var b,c; // 한 번에 여러 변수 선언 가능
var d = 0; // 변수 선언과 함께 초기화
var e = 0, d = "js"; // 선언과 초기화 동시에 가능
globalVariable = "javascript"; // 선언되지 않은 변수는 전역변수가 됨
  1. let
let a; // 선언만 한 상태, "undefined"가 저장됨
let b,c; // 한 번에 여러 변수 선언 가능
let d = 0; // 변수 선언과 함께 초기화
let e = 0, d = "js"; // 선언과 초기화 동시에 가능

let은 변수가 선언된 블록, 구문 또는 표현식 내에서만 유효한 변수를 선언한다.

  1. const
const a; // SyntaxError: invalid syntax
const a = 7;

블록범위 상수를 선언한다. 상수의 값은 재할당 할 수 없으며 다시 선언할 수 없다. 처음 선언할때 반드시 초기화를 해야한다.

profile
Convinced myself, I seek not to convince.

0개의 댓글