상세 컨텐츠

본문 제목

[TIL] 2024.01.10

[TIL]

by 재호링 2024. 1. 10. 23:37

본문

오늘 한 일

  • 알고리즘 코드카타
  • 팀 과제 회의
  • 자바스크립트 기초세션
  • 5주차 강의 getters setters

팀 과제 회의

 

팀원들의 개인프로젝트 중 대표가 될 프로젝트를 선택하기 위해

각자 코드 리뷰를 했다. 그 중 선택 된 팀원의 코드를

git init해놓은 레포지토리 dev 브랜치에 푸쉬하여 세팅해줌.

 

기능 구현을 위해 파트를 나누고 강의를 다 듣지 못한

팀원들을 위해 오늘 하루는 강의를 듣는 시간을 가짐.

 

 

자바스크립트 기초 세션

변수 선언 호출

함수 선언 호출

dom에 대한 기본 구조 이해에 대해 배운 시간.

 

5주차 Class 와 getter setter 실습

  • 기본적으로 class 에서 사용하는 메소드.
  • getter는 속성값 반환
  • setter는 속성값 설정
  • 이를 사용하는 이유는 생성한 인스턴스를 규격 안에서 자유자제로 변경하기 위해.

class는 기초적인 설계도 작성 단계라고 생각하면됨.

설계도면 안에는 구조가 짜여있기에 constructor() 를 안에 지정해주는거임

constructor의 괄호 안에는 매개변수가 들어가는데 외부에서 들어오는 값을 받기 위해서임.

 

그러기 위해선 this를 사용해 이름을 박아두는게 용이함.

 

class Car {
    constructor (modelName, modelYear, type, price) {
        this._modelName = modelName;
        this._modelYear = modelYear;
        this._type = type;
        this._price = price;
    }
}

 

이렇게 설계도를 작성했다면

설계도 안에서 작동되는 메서드를 작성하면됨.

위에 보면 this._(underscore)가 붙어있는데

이걸 해주지 않으면 getter setter에서 무한루프가 빠지게 돼

오류가 발생함.

( _로 시작하는 프로퍼티는 객체 내부에서만 활용하고 외부에서는 건드리지 않아서 그런거같음)

 

게터와 세터를 설정할때는

  • get modelName () {}
  • set modelName (value) {}

위와 같이 선언해주면 됨.

세터는 유효성 검사에 용이해서 검증 로직을 추가하여

예외처리하는데 쓰이는 것라고 이해했음. 또한 매개변수로 value가 들어감.

 

    get modelName() {
        return this._modelName
    }
    // 입력 값에 대한 검증까지 가능하다.
    set modelName(value) {
        // 유효성 검사
        if (value.length <= 0) {
            console.log("[오류] 모델명이 입력되지 않았습니다. 확인바라요!")
            return;
        }
        else if(typeof value !== 'string') {
            console.log("[오류] 입력된 모델명이 문자형이 아닙니다.")
            return;
        }
        this._modelName = value
    }

 

이런식으로 실습을 진행했는데

호환성을 생각한다면 꼭 필요한 메서드라고 생각됨.

 

'[TIL]' 카테고리의 다른 글

[TIL] 2024.01.12 팀 과제  (0) 2024.01.12
[TIL] 2024.01.11  (0) 2024.01.11
[TIL] 2024.01.09  (0) 2024.01.09
[TIL] 2024.01.05 영화 API 기반 개인 프로젝트  (2) 2024.01.05
[TIL] 2024.01.04  (1) 2024.01.04

관련글 더보기