JavaScript(JS) - 자료형(Number, String)

조성주·2023년 2월 21일
1

JavaScript

목록 보기
4/21
post-thumbnail

✅1. 자료형(Number)

  • 자바스크립트에서 일반적인 숫자는 64비트 형식의 IEEE-754 표준 기반 형태로 저장되는 자료형이다.

  • 10진수 외에도 16진수, 2진수, 8진수의 다양한 진수를 사용할 수 있다.

    • 16진수 표시 : 0xFF
    • 8진수 : 0o71!
    • 2진수 : 0b1101
  • 1) 대표 상수값

    • MAX / MIN_VALUE : JavaScipt가 표현할 수 있는 제일 큰 / 작은 양의 숫자 값을 나타낸다.

      console.log(Number.MAX_VALUE) // output :  1.7976931348623157e+308
      console.log(Number.MIN_VALUE) // output : 5e-324
      
    • MAX / MIN_SAFE_INTEGER : JavaScript에서 안전한 최대 / 최소 정수값을 나타낸다.

      console.log(Number.MAX_SAFE_INTEGER) // output : 9007199254740991
      console.log(Number.MIN_SAFE_INTEGER) // output : -9007199254740991
    • POSITIVE / NEGATIVE_INFINITY : Javascript에서 양 / 음의 무한대를 나타낸다.

      console.log(Number.POSITIVE_INFINITY) // output : Infinity
      console.log(Number.NEGATIVE_INFINITY) // output : -Infinity
    • NaN : 숫자로 표현할 수 없는 값을 뜻한다.

      console.log(Number.NaN) // output : NaN
      console.log(Number("!!!")) // output : NaN
  • 2) 대표 메서드

    • 문자열로 변환 : Number.toString();

      let strNum = (600).toString();
      console.log(typeof strNum);
      
    • 특정 자리수까지 제한하여 숫자 표현 : Number.toFixed(), Number.toPrecision()

    • Number.toFixed(n) : 소수점 n자리까지 제한하여 출력

    • Number.toPrecision(n) : 정수와 소수의 자리 수를 합한 길이로 제한. 짤리면 반올림하여 출력

      console.log((123.55).toFixed(1)); // 소수점 한자리까지만 제한하여 출력
      console.log((123.5555).toPrecision(4)); // 정수와 소수점을 포함한 자릿수만큼 반올림하여 출력 
    • 타입 확인 : Number.isNaN(), Number.isFinite()

    • Number.isNaN() : 값이 NaN인지 아닌지 판별

    • Number.isFinite() : Number이면서 유한수인지 판별

      console.log(Number.isNaN(Number("!!!"))); // output : true
      console.log(123) // output : false
      
  • 3) 지수 / 진법

    • 지수 표기법
      • 아주 큰 숫자나 아주 작은 숫자를 표기하기 위해 지수 표기법(e)으로 0의 개수를 대체 표기 가능.
        let billion_1 = 10000000
        let billion_2 = 1e7 // 1 + 0 7개
        let us = 1e-6 // 왼쪽으로 6번 소수점 이동. 0.000001
    • 진법 표기
      • 진법표기를 지원하기 위해 0x(16진수), 0o(8진수), 0b(2진수)로 N진수 표기 가능하다.
        console.log(0x6645F) // 16진수
        console.log(0o655) // 8진수
        console.log(0b2223) // 2진수
  • 4) 형변환

    • Number(값) : 문자열을 숫자로 변환
    • Number.toString() : 숫자를 문자열로 변환
    • Number.paresInt() : 정수로 변환하는 방법 (N진수로 명시적 변환도 가능)
      Number.parseInt(60, 16) // 60을 16진수로 변경
    • Number.parseFloat() : 실수로 변환하는 방법
      Number.parseFloat(값) // 실수로 변경
      let asd = "6000.68498465456";
      console.log(parseInt(asd)); // 소수점까지 다 출력

✅2. 자료형(String)

  • 텍스트 길이에 상관없이 문자열 형태로 저장되는 자료형이다.
  • 자바스크립트에서는 글자 하나만 저장할 수 있는 char 자료형이 없다.
  • 자바스크립트에서 문자열을 페이지 인코등 방식과 상관없이 항상 UTF-16 형식을 따른다.

대표 속성(Property)과 메서드(Method)

1) 문자열 길이

  • String.length : 문자열 길이를 출력한다.
let str = "string";
console.log(str.length)

2) 문자열 접근

  • String.charAt(index) : index에 위치한 문자를 출력한다.
let str = "string"
console.log(str.charAt(3)) // output : i
  • String.charCodeAt(index) : index에 위치한 문자를 UTF-16 코드를 나타내는 정수를 반환한다.
let str = "string"
console.log(str.charCodeAt(3)) // output : 105

3) 문자열 검색

  • String.indexOf(문자, 위치) : 문자가 위치한 index를 반환한다. 위치를 지정하면 그 위치에서 부터 문자를 검색한다.
let str = "striooing"
console.log(str.indexOf("r")) // output : 2
console.log(str.indexOf("i", 4)) // output : 6  -> 4번째부터 i가 있는 index를 출력한다.
  • String.lastIndexOf() : 문자를 검색하는데 뒤에서부터 검색을 한다.
let str = "stiiiiog"
console.log(str.lastIndexOf("i")) // output : 5
  • String.includes() : 검색하는 문자열의 포함 유무를 불리언 형태로 출력한다.
let str = "stringgggg"
console.log(str.includes("ggg")) // output : true
  • String.startsWith("", post) : 해당 문자열을 검색하는데 제일 처음부터 검색하고자 하는 완벽한 문자열이 있는지 검색을 한다. 예시로 원래는 "hello"라는 문자열에서 "ello"를 검색하면 true로 나오겠지만 startsWith를 사용하면 false로 나온다.
let str = "hello I`m seongju"
console.log(str.startsWith("ello")) // output : false

// 이 코드가 true가 나오는 이유는 index:1부터 검색을 하는 것이기 때문에 true로 나온다.
console.log(str.startsWith("ello", 1)) output : true 
  • String.endsWith() : startsWith와 반대로 뒤에서부터 검색을 한다.
let str = "hello I`m seongju"
console.log(str.endsWith("seongju")); // output : true

4) 문자열 변환

  • String.toUpperCase() : 문자열을 대문자로 변환을 한다.
let str = "string";
console.log(str.toUpperCase()) // output : STRING
  • String.toLowerCase() : 문자열을 소문자로 변환을 한다.
let str = "STRING";
console.log(str.toLowerCase()) // output : string
  • [...String] 스프레드 연산자 : 문자열을배열로 변환을 한다.
let str = "STRING";
let arr = [...str]

console.log(arr) -> ["S", "T", "R", "I", "N", "G"]

5) 문자열 치환

  • String.replace(문자열, 변경할 문자열) : 문자열을 검색하여 변경하고자 하는 문자열로 변경한다.
let str = "hello world";
console.log(str.replace("hello", "hi")) // output : hi world

6) 문자열 추출

  • String.slice(start, end) : 문자열을 해당 index까지 자른다. 값을 두개 사용하면 start부터 end를 제외하고 다 자른다.
let str = "abcdefghijklmnop";
console.log(str.slice(10)) // output : klmnop

console.log(str.slice(3, 7))
  • String.substring(start, end) : slice메서드와 동일한다. 하나 다른점은 slice는 start값이 end값보다 크면 출력이 되지 않는데 substring은 내부적으로 알아서 작은값이 start로 된다. -로 입력하면 뒤에서부터 자른다.
// slice와 동일
let str = "abcdefghijklmnop";
console.log(str.slice(10)) // output : klmnop

console.log(str.slice(3, 7))
console.log(str.substring(-1, 10)) // output : abcdefghij
  • String.substr(start, length) : 시작 위치부터 길이만큼만 추출한다.
let str = "abcdefghijklmnop";
console.log(str.substr(3, 5)) // output : defgh

7) 문자열 분할

  • String.split(separator, limit) : 입력받은 특정 문자 또는 정규표현식을 기준으로 문자열을 나누어 배열에 저장한다. limit을 추가하면 몇번 분할할지를 제한한다.
let str = "hello,i`m,seongju"
console.log(str.split(",")) // ["hello", "i`m", "seongju"];
console.log(str.split(",", 2)) // ["hello", "i`m"];
profile
프론트엔드 개발자가 되기 위한 기록

0개의 댓글