JavaScript: JS 기초 Ep.4 (메소드 체이닝, 데이터 타입 확인, 산술 할당 연산자)

메소드 체이닝


  • Method Chaining
    const a = 'Hello~';
    // split: 문자를 인수 기준으로 쪼개서 배열로 반환
    // reverse: 배열을 뒤집기
    // join: 배열을 인수 기준으로 문자로 병합해서 반환
    const b = a.split('').reverse().join(''); // 메소드 체이닝...
    //메소드가 마치 체인 형식처럼 연결되어 있다고 해서...
      
    console.log(a); // Hello~
    console.log(b); // ~olleH
    

데이터 타입 확인


typeof
특정한 데이터의 타입을 확인할 수 있다.
단, 객체 데이터와 배열 데이터는 typeof만으로 확인하기는 어렵다. 따라서, 함수를 만들어서 타입을 구분해 줄 수 있도록 한다.

// **main.js** 

console.log(typeof 'Hello World!')
// string

console.log(typeof 123)
// number

console.log(typeof true)
// boolean

console.log(typeof undefined)
// undefined

console.log(typeof null)
// object

console.log(typeof {}) // 객체 데이터
// object

console.log(typeof []) // 배열 데이터
// object

// 객체, 배열 데이터 타입 구분을 위한 함수
// 해당 함수는 함수가 작성된 파일안에서만 사용이 가능함
function getType(data) {
  return Object.prototype.toString.call(data)
}

console.log(getType(123))
// [object Number]

console.log(getType(false))
// [object Boolean]

// 원하는 부분만 출력하기
function getType(data) {
  return Object.prototype.toString.call(data).slice(8, -1)
	// slice를 사용하여 앞의 8개와 뒤 1개를 없애버림
}

console.log(getType(123))
// Number

console.log(getType(false))
// Boolean

console.log(getType(null))
// Null

console.log(getType({}))
// Object

console.log(getType([]))
// Array
  • 만들어낸 함수(getType)를 다른 js파일에서 사용이 불가능 하다. (해당 함수가 작성된 파일 내에서만 사용 가능)
    ⇒ 매번 함수를 적어줘야 한다는 번거로움 발생한다.
// getType.js

//** 번거로움을 해결하기 위한 방법
export default function getType(data) {
  return Object.prototype.toString.call(data).slice(8, -1)
}
// **main.js

//** getType 불러오기
import getType from './getType' 
// getType뒤에 .js 생략 가능, 이동 경로(./) 확실하게 입력해야 함.

console.log(getType(123))
// Number
  • export: 해당 함수(getType)를 getType.js파일 밖으로 내보내기가 가능하다.
  • default: 내보낼 때, 정의된 함수가 getType이라는 자바스크립트 파일에 가장 기본적인 형태의 내보내지는 함수 데이터라고 선언한다.

산술, 할당 연산자


  • 산술 연산자 (arithmetic operator)
    // 더하기
    console.log(1 + 2) // 3
      
    // 빼기
    console.log(5 - 7) // -2
      
    // 곱하기
    console.log(3 * 4) // 12
      
    // 나누기
    console.log(10 / 2) // 5
      
    // 나머지
    console.log(7 % 5) // 2
    
  • 할당 연산자 (assigment operator)
    // '='이 할당 연산자
    let a = 2
    ----------------------
    // a = a + 1, 아래와 같은 기호
    // '+=' 할당 연산자
    a += 1
      
    console.log(a) // 3
    ------------------------
    // a = a - 1, 아래와 같은 기호
    // '-=' 할당 연산자
    a -= 1
      
    console.log(a) // 1
    -----------------------
    // a = a * 1, 아래와 같은 기호
    // '*=' 할당 연산자
    a *= 1
      
    console.log(a) // 2
    -----------------------
    // a = a / 1, 아래와 같은 기호
    // '/=' 할당 연산자
    a /= 1
      
    console.log(a) // 2
    -----------------------
    // a = a % 1, 아래와 같은 기호
    // '%=' 할당 연산자
    a %= 1
      
    console.log(a) // 0
    

Comments