구조적 서브타이핑 / 잉여 속성 체크

2022. 9. 21. 07:28·Archive/Develop
728x90
반응형

아침에 유튜브 보면서 출근준비하다가

내가 의아해했던 부분을 설명해주셔서 안잊으려고 급하게 포스팅한다.

 

 

대체 무슨 기준으로 구조적 서브타이핑이 적용되고, 잉여 속성 체크가 적용되는 것일까?

 

여기서 구조적 서브타이핑은 상위와 하위의 개념으로, 상위의 개념이 하위를 포함하고 있는것이다.

구조적 서브타이핑에서는 하위가 다른 어떤 프로퍼티를 가지고 있는지 관심이 없다.

그저 상위의 프로퍼티만 가지고 있으면 된다.

 

 

하지만 잉여 속성 체크는 그에 반해 상위에 없는 프로퍼티를 가지면 에러를 발생시킨다.

 

 

 

 

이 둘의 발동 조건은 바로 객체 리터럴을 사용하냐, 사용하지 않느냐에 따라 나뉜다.

 

interface box {
	color: string;
}

// 잉여 속성 체크
box({
	color: "red",
    other: true
});


// 구조적 서브 타이핑
const obj = {
	color: "red",
    other: true
};


box(obj);

 

위 코드는 잉여 속성 체크를 이용하기 때문에 개발할때 저 other 가 문제가 될 것이다.

 

하지만 변수를 할당한 경우라면 구조적 서브타이핑 방식이 된다.

 

 

omgomg... 이 둘의 차이가 이제 명확해졌다!

 

 

 

728x90
반응형

'Archive > Develop' 카테고리의 다른 글

[ 모던 자바스크립트 스터디 ] 프로퍼티 어트리뷰트  (0) 2022.09.22
[ PostgreSQL ] CASE WHEN ~ END 와 비교연산(<>)  (0) 2022.09.21
[ 모던 자바스크립트 스터디 ] let, const 키워드와 블록 레벨 스코프  (0) 2022.09.20
[ 모던 자바스크립트 스터디 ] 전역변수의 문제점  (1) 2022.09.20
[ Flask Migrate ] Multiple head revisions are present for given argument 'head'  (0) 2022.09.20
'Archive/Develop' 카테고리의 다른 글
  • [ 모던 자바스크립트 스터디 ] 프로퍼티 어트리뷰트
  • [ PostgreSQL ] CASE WHEN ~ END 와 비교연산(<>)
  • [ 모던 자바스크립트 스터디 ] let, const 키워드와 블록 레벨 스코프
  • [ 모던 자바스크립트 스터디 ] 전역변수의 문제점
코뮤(commu)
코뮤(commu)
코딩으로 커뮤니케이션하는 코뮤입니다 😎
  • 코뮤(commu)
    코뮤(COMMU)
    코뮤(commu)
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Archive
        • Hacking
        • Develop
        • ETC
      • Algorithm
      • DB&Infra
      • ETC
      • Node
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • IT지식보따리
    • IT가 맛있다
    • IT 천재
  • 공지사항

    • 배고픕니다
  • 인기 글

  • 태그

    보안뉴스
    파이썬 기초
    파이썬 백준
    파이썬 문제
    장고
    Python
    백준
    코드업 기초
    코드업
    oracle db
    Codeup
    백준 파이썬
    Django
    오라클
    docker
    백준 풀이
    Oracle
    자바스크립트 객체
    Git
    자바스크립트
    파이썬
    백준 문제풀이
    코드업 파이썬 기초 100제
    비박스
    javascript
    자바스크립트 API
    파이썬 기초 문제
    C++
    카카오 100일 프로젝트
    파이썬 알고리즘
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
코뮤(commu)
구조적 서브타이핑 / 잉여 속성 체크
상단으로

티스토리툴바