JS basic

자바스크립트 데이터 종류

  1. 원시형 타입

  2. 객체형 타입
    object(객체)
    function(함수)


📖 원시형타입


1. 문자열(string)

let a = '안녕하세요?'; //문자열은 항상 ''나 ""로 묶어서 사용한다.
console.log(typeof(a)); //typeof() 해당 값의 데이터 타입을 알려주는 메서드
let b = '저는 b입니다';
console.log(a+b);
//console.log 결과 : 안녕하세요?(a)저는 b입니다.(b)
  1. 문자열(string)은 항상 ' '" "로 묶어서 사용한다.
  2. typeof() 해당 값의 데이터 타입을 알려주는 메서드


2. 숫자

let c = 100; //양수
let d = -100; //음수
let e = 1.23; //실수
let f = '100';

console.log (c); //결과 : 숫자 100
console.log(f)  //결과 : string 100
console.log(c + c) //결과 : 숫자 200
console.log(c + f) //결과 : string 100100
  1. 숫자 + string 합의 결과는 string으로 나온다.


3. boolean (true, false)

표현하는 식이 참인지 거짓인지를 구별해서 그에 맞는 표현식을 구별할 때 사용
보통 true와 false로 표현하며, 숫자로는 0과 1로 구별하는 경우도 있다.

0 = false 1 = true
console.log(!0) //결과 : true
console.log(!1) //결과 : false
console.log(!!1) //결과 : true
console.log(!!'') //결과 : false
console.log(!!'text') //결과 : 내용이 있는 경우는 true
console.log(!!undefined) //결과 : false
console.log(!!null) //결과 : false

let isPlay = true; //상태값으로 변수명을 만들 때에는 앞에 is를 붙여서 일반 변수와 구별하도록 한다.
  1. !는 부정을 의미한다. (값의 반댓값으로 출력)
  2. 내용이 있는 경우는 true로 출력된다.
  3. 상태값으로 변수명을 만들 때에는 앞에 is를 붙여서 일반 변수와 구별하도록 한다.


4. empty (null & undefinded)

null(비어있는 값)
  1. 변수를 선언하고 빈 값을 할당한 상태
  2. 어떤 값이 의도적으로 비어있음을 표현하며 boolean 연산에서는 false로 취급한다.
  3. API에서는 null을 종종 관련된 객체가 존재하지 않을 때 그 객체 대신 사용
undefinded(값이 없거나 할당되지 않음)
  1. 선언한 후 값을 할당하지 않은 변수 혹은 값이 주어지지 않은 인수에 자동으로 할당된다.
  2. 자료형이 없는 상태
  3. 변수를 선언수에 값을 할당하지 않은 변수나 값이 주어지지 않은 인수에 자동으로 할당되는 값이지만 예약어는 아니다.
  4. 리턴되는 값을 못 받았을 때 뜨는 오류
let a = null; //의도적으로 값을 비워둔 상태의 변수
let b; //값이 정의되지 않은 경우에 나오는 변수

console.log(a) // 결과 : null
console.log(b) // 결과 : undefined

null과 undefined의 차이

typeof null; // "object" (하위호환 유지를 위해 "null"이 아님)
typeof undefined; // "undefined"
null === undefined; // false
null == undefined; // true
null === null; // true
null == null; // true
!null; // true
isNaN(1 + null); // false
isNaN(1 + undefined); // true

null 또는 undefined를 검사할 때, 동등 연산자(==)와 일치 연산자(===)의 차이를 주의해야한다.
동등 연산자는 자료형 변환을 수행한다.