자료형(Data Types)

da.circle·2022년 9월 21일
0

👉typeof

  • 해당 자료형이 어떤 자료형인지 판단한다.
console.log(typeof(1));
//number

👉자료형

Numbers

  • 숫자를 표현하거나 산술 연산을 하는데 사용되는 데이터 타입
  • 범위 : -(2⁵³-1) ~ 2⁵³-1
  • 정수
  • 실수
  • 16진수 표현법 : 숫자 앞에 0x를 붙인다.
  • 8진수표현법 : 숫자 앞에 0을 붙인다.
  • 지수 표현법 : e 앞의 숫자는 곱하고, e뒤에 있는 숫자는 10의 지수로 계산한다.
console.log(1);
//1
console.log(0);
//0
console.log(-1);
//-1
console.log(99999999);
//99999999
console.log(1.23456);
//1.23456
console.log(-3.12346);
//-3.12346
console.log(0xff);
//16진수 -> f(15)*16¹ + f(15)*16⁰ = 255
console.log(010);
//8진수 -> 1*8¹ + 0*8⁰ = 8
console.log(5e5);
//5 * 10⁵ = 500000
console.log(5e-5);
//5*10^(-5) = 0.00005
  • Infinity (무한대)
  • 양수 무한대 : Infinity / 음수 무한대 : -Infinity
  • Infinity 값에는 어떤 값을 연산해도 값이 바뀌지 않는다.
console.log(1/0);
// infinite
console.log(-1/0);
// -infinite
console.log(isFinite(1));
// true
console.log(isFinite(1/0));
// false
console.log(Infinity == Infinity * 10);
// true

→ isFinite( ) : infinite라면 true, 아니면 false

  • 연산해보자
Math.pow(3,2);       // 9,   3의 2승 
Math.round(10.6);    // 11,  10.6을 반올림
Math.ceil(10.2);     // 11,  10.2를 올림
Math.floor(10.6);    // 10,  10.6을 내림
Math.sqrt(9);        // 3,   3의 제곱근
Math.random();       // 0부터 1.0 사이의 랜덤한 숫자(0.7501819201468309 등)

→ Math.random을 통해서 나오는 수는 1보다 작은 수 이므로 어떤 수를 곱하면 그 수보다 작은 랜덤한 값의 수가 나오게 된다!

//100 이하의 랜덤한 수를 얻고 싶다
Math.round(100*Math.random());

NaN

  • Not a Number의 약자
  • 수학 연산을 수행할 수 없을 경우에 NaN이 반환한다.
  • isNaN() : NaN이라면 true, 아니면 false
console.log(0/0);
//NaN
console.log("a"/3);
//NaN
console.log(isNaN(3));
//false
console.log(isNaN('a'));
//true

String

  • 문자형
  • 모든 문자열은 유니코드로 구성되어 있다.
  • 작은 따옴표(' ')나 큰따옴표(" ")로 문자열을 표현한다.
    ⇒ 백틱(`)으로 문자열을 표현할 수 있다! (백틱은 줄바꿈이 가능)
console.log('abcdefg');
//abcdefg
console.log("가나다라마바사");
//가나다라마바사
console.log(typeof String(1234));
//string
console.log(String(1234));
// "1234"
console.log(typeof Number("1234"));
//number
console.log("abcdefg".length);
//7
console.log("홍길동".length);
//3
  • String( ) : 문자열로 만든다.
  • String.length : 문자열 길이를 출력하는 속성. 유니코드 기준이다.

문자열을 다른 타입으로 변경하는 방법

//숫자형
parseInt("");
parseFloat("");
Number("");

Escape 문자

  • \n : 줄바꿈
  • \" : 큰따옴표
  • \’ : 작은따옴표
    → \ 바로 뒤의 문자 하나는 문자로 인식!
  • etc..

Boolean

  • 논리적인 요소를 나타내고자 할 경우에 사용된다.
  • true / false
  • 비교/논리 연산의 결과값으로 자바스크립트 제어 구조에 많이 사용한다.
  • 숫자 연산 : true = 1 / false = 0
alert(true == 1);               //true
alert(true === 1);              //false
alert(true == '1');             //true
alert(true === '1');            //false
  • 문자열 : true = "true" / false = "false"
  • 0이나 NaN이 아닌 이상은 true (0, NaN = false)
  • 빈 문자열이 아닌 이상은 true (빈 문자열은 false)
  • null, undefined는 false, null이 아닌 객체나 배열, 함수는 true
console.log(true);
// 참
console.log(false);
// 거짓
  • true로 인정되는 것들(Truethy) :
    0을 제외한 정수, true, 값이 있는 문자열, {}, []
  • false로 인정되는 것들(falsy) :
    0, undefined, 값이 할당되지 않은 변수(undefined), 빈문자열(’’),null, NaN

Null

  • 값이 비어있다.
  • 아무것도 없다, 값이 없다.
  • 아무것도 참조하고 있지 않다. → 객체를 담을 변수를 초기화할 때 많이 사용한다.
  • object 타입이다.
  • non primitive type(Object)

Undefined

  • 값이 할당되지 않았다.
  • 알 수 없다.
  • undefined 타입
  • 값 또한 undefined이다.
  • primitive 타입이다.
console.log(null);
//null
console.log(undefined);
//undefined
console.log(typeof null);
//object
console.log(typeof undefined);
//undefined

alert(0 === -0);                //true
alert(NaN === NaN);             //false

Symbol

  • 변경이 불가능한 값, 고유한 값이다.
  • Symbol 함수를 호출해서 생성한다.
  • Symbol로 생성한 값은 같은 모양이어도 다른 값이다.
  • 유일한 식별자(unique identifier)를 만들고 싶을 때 사용한다.
  • symbol 함수 안에 작성한 내용은 해당 심볼에 대한 설명이다. 이 설명은 디버깅 시 유용하게 사용된다.
  • alter에 심볼형을 사용할 수 없다.
const sym1 = Symbol();

typeof sym1;
//symbol

console.log(sym1);
//Symbol()

const sym2 = Symbol("symbol");
//sym2는 'symbol'이라는 설명을 가진다.

Symbol("foo")===Symbol("foo");
//false
profile
프론트엔드 개발자를 꿈꾸는 사람( •̀ ω •́ )✧

0개의 댓글