LHJ

I'm a FE developer.

9-2. String 오브젝트 / 문자열로 변환, 프리미티브 값 구하기

25 Nov 2020 » js_beginner

9-2. String 오브젝트 / 문자열로 변환, 프리미티브 값 구하기

String() : 문자열로 변환

구분데이터(값)
파라미터변환 대상 opt
반환변환한 값

  • 파라미터 값을 String 타입으로 변환하여 반환

    • 값을 작성하지 않으면 빈문자열 반환

        var value = String(123);
        console.log(value); // 123
        console.log(typeof value); // string
        console.log(typeof ("" + 123)); // string
      
    • 가독성

      • (“” + 123)도 숫자가 String 타입이 되지만
      • String(123) 형태가 가독성이 높습니다.

저는 “” + 123 보다 String(123)을 선호하는데, 가독성 때문입니다.
물론 다른 목적도 있습니다만 그것은 다음에 다루기로 하겠습니다.

new String()

구분데이터(값)
파라미터값 opt
반환생성한 String 인스턴스

  • String 인스턴스를 생성하여 반환

      var obj = new String(123);
      console.log(typeof obj); // object
    

new 연산자로 String 생성자 함수를 호출하면, String 인스턴스를 생성하여 반환합니다. 123이 obj의 [[primitiveValue]]로 설정됩니다.
new 연산자를 사용했기 때문에 obj의 type은 소문자 object 입니다.

  • 파라미터 값을 String 타입으로 변환

    • 파라미터 값이 프리미티브 값이 됩니다.

valueOf()

구분데이터(값)
dataString 인스턴스, 문자
파라미터사용하지 않음
반환프리미티브 값

  • String 인스턴스의 프리미티브 값 반환

      var obj = new String(123);
      console.log(obj.valueOf()); // 123
    
    1. obj는 String의 인스턴스이며
    2. 파라미터 값 123이 String 인스턴스의 프리미티브 값으로 설정됩니다.
    3. obj에 프리미티브 값으로 설정된 값 반환