JavaScript: JS 데이터 Ep.1 (문자, 숫자, 수학)

문자


String

String 전역 개체는 문자열의 생성자이다.
String - JavaScript | MDN

메소드

  • indexOf()
    indexOf() 메소드는 호출한 String 객체에서 주어진 값과 일치하는 첫번째 인덱스를 반환한다. 일치하는 값이 없으면 -1을 반환한다.
    // String.prototype.indexOf()
    const result = 'Hello world!'.indexOf('world')
    console.log(result)
    // 6
    
    • String.prototype == ‘ ‘
      ’ ‘ 문자 데이터의 리터럴이기 때문에 ‘ ‘ 사용만 해도 실행이 가능하다.

    • 결과가 6인 이유
      처음 ‘world’가 찾아진 부분이 6번째 이기 때문이다. | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 … | | — | — | — | — | — | — | — | — | | H | e | l | l | o | | w | … |

    • 찾는 값이 없을 때, -1 반환
      const result = 'Hello world!'.indexOf('soha')
      console.log(result)
      // -1
      
    • 매개변수
      searchValue: 찾으려는 문자열에 아무 값도 주어지지 않으면 문자열 “undefined”를 찾으려는 문자열로 사용한다.

    • 반환 값
      searchValue의 첫번째 등장 인덱스를 찾을 수 없으면 -1를 반환한다.

    • boolean 값으로 반환받기
      특정 문자가 없으면 -1이 반환된다.
      indexOf(’soha’)의 값이 -1이기에 비교값의 -1과 일치하여 true가 반환되어야 한다. 하지만, 비교 연산자 !==를 사용하여 특정 문자가 없기 때문에 true가 아닌 false가 반환된다.
      const str = 'Hello world!'
          
      console.log(str.indexOf('soha') !== -1)
      // false
      
  • length
    문자열의 길이 수를 알려준다.
    const str = '0123'
      
    console.log(str)
    // 0123
      
    console.log(str.length) // 4
    console.log('01 23'.length) //5
    
  • slice()
    문자열의 일부를 추출하면서 새로운 문자열을 반환한다. 즉, 원하는 구간의 문자열을 출력할 수 있게 한다.
    slice(시작 지점, 끝 지점의 +1)

    const str = 'Hello world!'
      
    console.log(str.slice(0, 3))
    // Hel
      
    // 문자열 0번째부터 3번째 직전까지 출력
    
    • 매개변수
      beginIndex: 추출 시작점인 0부터 시작하는 인덱스이다.
      endIndex: 0부터 시작하는 추출 종료점 인덱스로, 그 직전까지 추출한다.
  • replace()
    앞에 있는 문자 데이터에서 첫번째 인수에 해당하는 문자를 찾아서 두번째 인수 내용으로 교체한다.

    const str = 'Hello world!'
      
    console.log(str.replace('world', 'SOHA'))
    // Hello SOHA!
      
    console.log(str.replace(' world!', ''))
    // Hello
    
  • match()
    특정한 일치하는 값을 찾아낸다.

    const str = 'thesecon@gmail.com'
      
    console.log(str.match(/.+(?=@)/))
    // /.+(?=@)/ => 정규표현식
      
    // ["thesecon", index: 0, input:"thesecon@gmail.com",
    // groups: undefined]
      
    console.log(str.match(/.+(?=@)/)[0])
    // 해당 배열데이터의 0번째 배열 아이템을 활용하겠다는 의미
    // thesecon
    
  • trim()
    특정한 문자 데이터의 앞에서 시작하는 모든 공백 문자를 제거하고, 맨 뒤에서 연결되어져 있는 모든 공백문자를 제거한다.

    const str = '       Hello world    '
      
    console.log(str.trim())
    

숫자


const pi = 3.14159265358979
console.log(pi)
// 3.14159265358979

const str = pi.toFixed(2)
console.log(str) // 3.14
console.log(typeof str) // string

const integer = parseInt(str)
const float = parseFloat(str)
console.log(integer) // 3
console.log(float) // 3.14
console.log(typeof integer, typeof float) // number number

메소드

  • toFixed()
    메소드가 호출될때, 인수로 소숫점에 몇번째 자리까지 유지할 것인지를 명시한다.
    • typeof를 사용하여 데이터 타입을 확인한 결과 string이라는 결과가 나왔다.
    • toFixed가 실행이 되면 문자 데이터가 반환된다!
  • parseInt(), parseFloat()
    자바스크립트에서 제공하는 전역함수이다.
    문자 데이터를 숫자 데이터로 변환해준다.
    • 전역함수: 전체 영역에서 언제든지 사용할 수 있는 함수이다.
    • parseInt(): 인수로 숫자가 들어있는 문자 데이터를 넣게 되면 분석하여 숫자만 추출하여 숫자 데이터 정수로 변환한다.
    • parseFloat(): 인수로 숫자가 들어있는 문자 데이터를 넣게 되면 분석하여 숫자만 추출하여 소숫점 자리의 숫자도 유지하면서 숫자 데이터로 변환한다.

Math (수학)


Math는 수학적인 상수와 함수를 위한 속성 메소드를 가진 내장 객체이다. 함수 객체가 아니다.
Math - JavaScript | MDN

메소드

console.log('abs: ', Math.abs(-12))
// abs: 12
console.log('min: ', Math.min(2, 8))
// min: 2
console.log('max: ', Math.max(2, 8))
// max: 8
console.log('ceil: ', Math.ceil(3.14))
// ceil: 4
console.log('floor: ', Math.floor(3.14))
// floor: 3
console.log('round: ', Math.round(3.14))
// round: 3
console.log('random: ', Math.random())
// random: 0.06868616174987663
  • abs()
    absolute의 약어이다.
    Math.abs() 함수(메소드)는 주어진 숫자의 절대값을 반환한다.
    인수에 음수값을 넣게 되면 양수값으로 반환된다.

  • min()
    인수 값들 중에 가장 작은 값을 반환한다.

  • max()
    인수 값들 중에 가장 큰 값을 반환한다.

  • ceil()
    올림을 해주는 메소드이다.
    정수단위에서 올림처리를 해주기 때문에 소숫점 값은 무시하고 무조건 올림을 한다.
    ex) 5.13 → 6, 4.78 → 5

  • floor()
    내림을 해주는 메소드이다.
    소숫점의 값은 무시하고 정수단위에서 내림처리를 한다.
    ex) 5.13 → 5, 4.78 → 4

  • round()
    반올림을 해주는 메소드이다.
    0~4는 내림, 5~9는 올림이다.
    x) 5.13 → 5, 4.78 → 5, 4.5 → 5

  • random()
    랜덤한 숫자(난수)를 반환한다.

    // getRandom.js
      
    export default function random() {
      return Math.floor(Math.random() * 10)
    }
    
    • random이라는 함수 생성
    • 작성한 로직을 return 키워드로 반환
    • Math.floor사용하여 인수로 들어온 숫자 데이터를 내림처리
    • 인수 내용은 random 메소드를 사용하여 무작위의 난수 생성
    • 해당 난수에 곱하기 10을 해준 뒤 내림처리
    • 결과: 0~9 사이의 숫자들을 랜덤하게 반환하는 코드

Comments