Javascript 타입

Rosevillage·2022년 12월 16일
0

타입

타입은 크게 일곱 가지로 나뉘어진다. 오늘은 그 중 세 가지인 Number, String, Boolean 에 대해 정리한다.


  • 숫자(Number)

    • 말 그대로 숫자로 이루어진 타입이다. 정수와 실수 모두 표현 가능하다.
    typeof 100; // 정수, 'number'
    typeof -100; // 음수, 'number'
    typeof 100.123 // 실수, 'number'
    • number들 간에는 간단한 사칙역산이 가능하다.
    console.log(1+2); // 3
    console.log(1-2); // -1
    console.log(1*2); // 2
    console.log(1/2); // 0.5
    console.log(9%2); // 1(나머지)
    • 복잡한 계산은 Math 내장 객체를 사용해 연산이 가능하다.
    Math.floor(100.621); // 100, 내림하여 반환
    Math.ceil(100.621);  // 101, 올림하여 반환
    Math.round(100.621); // 101, 반올림하여 반환
    Math.round(100.421); // 100, 반올림하여 반환
    Math.abs(-100); // 100, 절대값을 반환
    Math.abs(100); // 100, 절대값을 반환
    Math.sqrt(4); // 2, 루트값(제곱근)을 반환
    Math.sqrt(2); // 1.4142135623730951, 루트값(제곱근)을 반환
    Math.pow(2, 5); // 32, 제곱하여 반환
  • 문자열(String): 자연어를 표현하기 위한 데이터 타입이다.

    • 따옴표('), 쌍따옴표("), 백틱(`) 등으로 감싸 표현 가능하다.
      그리고 +를 사용해 문자열을 열결할 수 있다.
    typeof '바나나'; // 'string'
    typeof "바나나"; // 'string'
    typeof `바나나`; // 'string'
    '바나나' + '는 맛있다.' // '바나나는 맛있다.'
    1 + '1' // 11
    • 문자열의 length 속성을 이용해 문자열의 길이를 알아낼 수 있다.
      그리고 문자열의 각 문자의 위치는 index로 확인할 수 있다(index는 0부터 시작한다.)
    const str1 = '안녕하세요 반갑습니다.';
    const str2 = 'javascript'
    console.log(str2); // 10
    console.log(str1); // 12
    console.log(str1[3]); // a
    console.log(str1[6]); // 반
    • 문자열의 주요 메서드
    'HELLO WORLD'.toLowerCase(); // 'hello world', 문자열을 소문자로 변경
    'hello world'.toUpperCase(); // 'HELLO WORLD', 문자열을 대문자로 변경
    'hello '.concat('world'); // 'hello world', 연결 연산자(+)를 사용한것처럼 문자열을 연결할 수 있다.
    'hello world'.slice(0, 5); // 'hello', 문자열의 일부를 자를수 있다.(첫 인자는 시작 index, 둘째 인자는 끝나는 index)
    '나는 노트북을 샀다.'.indexOf('노트북') // 3, 문자열에 있는 특정 문자열의 첫번째 index를 반환한다.
    '나는 노트북을 샀다.'.indexOf('맥북') // -1, 특정 문자열이 없을 시 -1 반환한다.
    '나는 노트북을 샀다.'.indexOf('노트북') // true, 문자열에 특정 문자나 단어가 포함되어있는지 확인한다.
    '나는 노트북을 샀다.'.indexOf('맥북') // false, 특정 문자나 단어가 없을 경우 false를 반환한다.
  • 부울(Boolean): 사실관계를 구분하기 위한 타입으로 true 혹은 false 둘 중 하나이다.

    • falsy: 부울 타입은 아니지만 false로 여겨지는 값이다. 반대는 truthy값이다.
    	// 대표적인 falsy 값
    false
    0
    -0
    0n
    ""
    ''
    ``
    null
    undefined
    NaN
    
    • 비교연산자: 부울값은 비교연산자로 두 값이 같은지 다른지 확인할 때 유용하다.
      1. ===, !== 엄격한 동치 연산자는 두 피연산자의 값과 타입을 비교한다.

        		123 === (100 + 23); // true ("123의 값과 100 + 23의 값은 같다."는 사실이기 때문에 true)
        		123 === '123'; // false ("123의 값과 '123'의 값은 같다."는 사실이 아니기 때문에 false)
        		123 !== (100 + 23); // false ("123의 값과 100 + 23의 값은 같지 않다."는 사실이기 아니기 때문에 false)
        		123 !== '123'; // true ("123의 값과 '123'의 값은 같지 않다."는 사실이기 때문에 true)
      2. ==, != 느슨한 동치 연산자는 대체로 값을 비교한다.(타입이 달라도 값이 같으면 true를 반환)

        		12 === '12' // true
        		100 > 200; // false ("100은 200보다 크다."는 거짓)
        		200 > 100; // true ("200은 100보다 크다."는 참) 
        		100 >= 100; // true ("100은 100보다 크거나 같다."는 참)
        		200 <= 100; // false ("200은 100보다 작거나 같다."는 거짓)
    • 논리 부정 연산자(!): 사실 관계를 반대로 표현한다.
      !true // flase
      !(100 > 200) // true
      
      //falsy, truthy의 반대 값 반환도 가능하다.
      !0 // true
      !'' // true
      !1 // false
      !'string' // false

0개의 댓글