JavaScript

클린코드 작성하기 - 2

heyheyhey 2022. 8. 31. 17:15

변수 다루기

타입검사

자바스크립트는 동적인 타입이라, 타입검사가 어렵습니다.

typeOf 나 instanceOf 로 원시타입, 참조타입을 알 수 있습니다.

Object.prototype.toString.call( )

undefined & null

undefined & null 은 값이 없거나 정의되지 않은 것입니다.

type = undefined , Object

eqeq 줄이기

== (두개) = 동등 연산자

  • type casting 이 일어납니다.
  • ‘1’== 1 >> true

=== (세개 )= 엄격한 동등 연산자

  • ‘1’=== 1 >> false

두개가 형 변환이 되어서 더 편한 게 아닌가 ? 하는 의문도 있지만 엄격하게 맞추는 것이 더 오류 검사에 좋습니다.

  • Number(‘1’)=== 1 >> true

함수 작성법

숫자와 관련된 함수 (min-max)

경계값을 다룰 때 함수 작성법

function getValidAge = (age:number)=>{
    const MIN_IN_AGE = 19
    const MAX_AGE = 45
    return(age< MAX_AGE && age>= MIN_IN_AGE)
} 
  • 네이밍을 최소값과 최대값을 잘 명시해줍니다.
  • 이상, 이하 일 경우 IN 과 같은 전치사로 알기 쉽게 합니다.

begin-end

  • 예약날짜를 잡을 때 주로 사용합니다 .
function reservationDate(beginDate,endDate){
    ...
}
reservationDate('YYYY-MM-DD','YYYY-MM-DD')

first- last

  • 함수 안에서 array 의 첫 인자와 마지막 인자를 의미할 때 변수로 사용합니다.
function getStudent(first,last){
    ... 
}

prefix & suffix

접두사, 접미사

일관성 있게 코드네이밍을 하기 위해서는 접두사가 필요합니다.

접미사는 s를 붙이는 등의 방법이 있습니다.

매개변수의 순서가 경계이다.

인자가 두개일 경우에는 처음과 끝이구나 라고 생각을 할 수 있습니다.

인자가 여러개일 경우에는 어떤 식으로 함수를 생성하면 될까요?

  • 호출하는 함수의 네이밍과 인자의 순서의 연관성을 고려합니다.
  • 매개변수를 2개가 넘지 않도록 만듭니다.
  • arguments, rest parameter
  • 매개변수를 객체에 담아서 넘긴다. *
  • 랩핑하는 함수를 만듭니다. ⇒ 받아오는 함수가 따로 있고, 실제 함수를 만듭니다.