EverGiver

자료형 본문

Front-End (웹)/자바스크립트

자료형

친절한개발초보자 2022. 1. 16. 12:32
728x90

 

자료형이란

 

컴퓨터가 처리할 수 있는 자료의 형태

종류 설명 예시
기본
유형
숫자형 따옴표 없이 숫자로만 표기 var a = 7;
문자열 작은따옴표(' ')나 큰따옴표(" ")로 묶어서 나타낸다.
숫자를 따옴표로 묶으면 문자로 인식한다.
var b = 'Hello';
var c = "1";
논리형 참(true)과 거짓(false)라는 2라지 값만 있는 유형이다.
이때 true와 false는 소문자로만 표시한다.
var isEmpty = true;
복합
유형
배열 하나의 변수에 여러 개의 값을 저장한다. var seasons = ['봄', '여름', '가을', '겨울'];
객체 함수와 속성을 함께 포함한다. var date = new Date( );
특수
유형
undefined 자료형이 지정되지 않았을 때의 상태이다.
(변수 선언만 하고 값을 할당하지 않은 변수는 undefined 상태)
null 값이 유효하지 않을 때의 상태이다.

 

숫자형

 

숫자형(number)은 정수와 실수를 나누어 구분한다.

  • 정수
    - 소수점 없는 숫자
  • 실수
    - 소수점이 있는 숫자
  • 자바스크립트에서는 정수와 실수를 함께 묶어 숫자형이라고 한다.
  • 15자리를 넘어가게 되면 제대로 표시되지 않을 수 있다.
  • Number( )를 활용하여 문자형 데이터를 숫자형 데이터로 치환한다.
  • 자바스크립트에서는 실수를 정밀하게 계산하는 것은 좋지 않다.
    (예상하지 못한 결괏값이 나올 때가 존재한다.)
    - 자바스크립트에서는 0.1이나 0.2를 2진수로 변환해서 계산하는데 이때 자릿수가 많은 소수로 변환되고, 그 상태에서 0.1이나 0.2를 더한다.
    - 해결 방법
      ▷ 정수로 변환한 뒤, 다시 소수점으로 만든다.
    <script>
            var num1 = 200;
            var num2 = Number(str2);    // 문자형 데이터를 숫자형 데이터로 치환
            var num3 = 10000000000000000000000000000000
            var num4 = 99999999999999   // 15자리를 넘어가게 되면 제대로 표시되지 않을 수 있다.
            var num5 = 0.1
            var num6 = 0.2
            document.write(num1, '<br>');
            document.write(num1+str2, '<br>');
            document.write(num1+num2, '<br>');
            document.write(num3, '<br>');
            document.write(num4, '<br>');
            document.write(num5, '<br>');
            document.write(num6, '<br>');
            document.write(num5+num6, '<br>');
            document.write(num5*num6, '<br>');
            // 소수점을 계산할 경우 정수로 변환한 뒤 다시 소수점을 만들어야 한다.
            document.write((num5*10 + num6*10)/10, '<br>')
            document.write(((num5*10) * (num6*10))/100, '<br>');
    </script>​

 

문자열

 

작은따옴표(' ')나 큰따옴표(" ")로 묶은 데이터를 의미

  • 숫자도 작은따옴표나 큰따옴표로 묶으면 문자열로 인식한다.
  • 작은따옴표로 시작한 문자열 데이터는 작은따옴표로 끝맺음을 해야 한다.
    (큰따옴표도 마찬가지이다.)
    <script>
            var str1 = "javascript";
            var str2 = '100';
            var str3 = '<h1>String</h1>'
            // str3 = '<a href="#">string</a>'     "<a href="#">string</a>"
            var str4 = "PJ\n안녕하세요\n반갑습니다."
            var str5 = '제 이름은 "PJ" 입니다.'
            var str6 = "제 이름은 'PJ' 입니다."
            var str7 = '제 이름은  \'PJ\'입니다.'
            document.write(str1, '<br>');
            document.write(str2, '<br>');
            document.write(str3, '<br>');
            document.write(str4, '<br>');
            console.log(str4)  // \n은 console 창에서 줄바꿈되어 나온다.
            document.write(str5, '<br>');
            document.write(str6, '<br>');
            document.write(str7, '<br>');
    </script>​

 

논리형

 

불린(boolean) 유형이라고도 하며, 참(true)이나 거짓(false)의 값을 표현하는 자료형

  • 어떤 조건을 확인해서 그 조건이 맞으면 true, 맞지 않으면 false의 결괏값을 나타낸다.
  • 주로 프로그램에서 조건을 확인할 때 사용한다.
  • 0, "", NaN, null, undefined는 부정 연산자와 만나면 참으로 판명된다.
    <script>
            var bool1 = true;
            var bool2 = false;
            var bool3 = 10 < 5;     // false
            var bool4 = Boolean('SBS');     // 0, null, undefined를 제외한 나머지 true
            document.write(bool1, '<br>');
            document.write(bool2, '<br>');
            document.write(bool3, '<br>');
            document.write(bool4, '<br>');
    
            if(true){
                document.write('true입니다. <br>');
            }
            if(false){
                document.write('true입니다. <br>');
            }
            if(bool1){
                document.write('true입니다. <br>');
            }
            if(!false){
                document.write('부정연산자 <br>');
            }
            if(0){
                document.write('0 <br>');
            }
            if(!0){
                document.write('부정연산자 <br>');
            }
    </script>​

 

undefined 유형과 null 유형

 

  • undefined
    - 자료형이 정의되지 않았을 때의 데이터 상태
    - 자바스크립트에서는 변수를 선언할 때 자료형을 미리 정하지 않고 값을 할당할 때 결정한다.
    -변수 선언만 하고 값이 할당되지 않은 자료형을 undefined라고 한다.
     (즉, 단순히 '변수에 값이 할당되지 않았다'는 의미이다.)
  • null
    - 데이터의 값이 유효하지 않은 상태
    <script>
            var b;  // 값을 넣지 않았을 때, 변수는 존재해서 메모리 공간은 있지만, 값이 정의되지 않음.
            var c = null;   // 값이 없다. 값이 없다는 것을 명시
            document.write(b, '<br>');
            document.write(c, '<br>');
    </script>​

 

배열

 

하나의 변수에 값을 여러 개 저장할 수 있다.

  • 배열은 여러 개의 데이터 값을 하나의 배열 이름으로 묶어서 선언한다.
  • 데이터 값을 쉼표로 구분해서 대괄호([ ])로 묶으면 배열을 선언할 수 있는데, 대괄호 안에 값을 입력하지 않으면 빈 배열이 만들어진다.
  • 빈 배열도 배열을 선언한 것이다.
    배열명["값1", "값2", ...]
    배열명[ ]​

 

객체 타입 (Object)

 

  • key값은 숫자로 시작하지 않는 영어 대소문자, 숫자 및 언더바 사용
    <script>
            let dog = {
                name : '흰둥이',
                age : 3,
                color : 'white',
                6 : 'test'
            };
    
            document.write(dog, '<br>');
            console.log(dog);
            document.write(dog.name, '<br>');
            document.write(dog.age, '<br>');
            document.write(dog.color, '<br>');
            document.write(dog[6], '<br>');
    
            let cat  = {};
            console.log(cat);
            console.log(cat.name);
            console.log(cat[0]);
            cat.name = '야옹이';
            cat[0] = 2;
            console.log(cat);
            console.log(cat.name);
            console.log(cat[0]);
    </script>​

 

심불 (Symbol)

 

  • 심불은 ECMAScript6에서 추가된 데이터 형식이다.
  • 심불은 유일하고 변경할 수 없는 타입으로, 충돌 위험이 없는 유일한 객체의 식별자로 사용할 수 있다.
    <script>
            var sym = Symbol('javaScript'); // 심볼타입
            var sym2 = Symbol('SBS');
            var sym3 = Symbol('SBS');
            console.log(sym2 == sym3)
            console.log(typeof sym2)
    </script>​
728x90

'Front-End (웹) > 자바스크립트' 카테고리의 다른 글

조건문  (0) 2022.01.20
연산자  (0) 2022.01.16
변수  (0) 2022.01.14
자바스크립트 용어와 기본 입출력 방법  (0) 2022.01.13
웹 브라우저랑 자바스크립트  (0) 2022.01.13
Comments