[JS]230115 TIL: Chap17 #4 + Chap18 #1

Myugaa·2023년 1월 15일

JS

목록 보기
9/15

강의 | Chap 17 JS 클래스

#4. 상속(확장)

아래의 class를 쓴 object객체 예제를 보기.
(당당히 Array라고 썼는데 틀렸다! 둘의 이름이 너무 헷갈린다 -.-)

extends

  • extends는 상속한다, 확장한다 라는 뜻인데 경우를 구분해서 쓴다.
    - 상속/확장 받는 클래스에서 추가되는 인자가 없을 경우 상속이라 부른다.
    - 추가되는 인자가 있을 경우, 확장이라고 부른다.
  • 확장의 경우 클래스 내 추가되는 인자 yyy 는 위에서 명명한 것처럼 해당 블럭 내에 this.xxx = yyy 라고 쓰면 된다. (마지막의 this.license = license 보기)

super, this

  • super: 위에 쓴 extends 뒤에 붙는 개념을 부른다 (this 같은거?) 여기선 Vehicle만 대상이다.
    - super가 붙는 자리에 Vehicle이 실행된다고 보면 된다.
  • class 내 this는 class 바로 뒤에 붙는 개념을 일컫는다. (Vehicle, Bicycle & Car)

Chap 18 JS 데이터

#1. 문자

전역객체

  • JS 전체 영역에서 쓸 수 있는 객체
    - 예시: string

리터럴 방식

  • JS 내 string 데이터들을 "", '', `` 같은 기호를 사용하여 만드는 것.
  • object는 {}, array는 [] ... 이런게 다 리터럴 방식이다.
  • 반대 개념: new라는 키워드를 사용하여 JS 내 각각의 데이터에 맞는 전역 객체 생성이 필요. (좀 불편)

알아둘 종류

다음 내용은 . 앞에 문자 데이터로 구성된 변수 이름이 포함된다는 점 염두에 두고 읽기.

  • .length 문자 데이터의 길이 구하기(공백 포함)
  • A.indexOf('찾을문자') A는 변수 이름. A 내 문자 데이터에서 특정 '찾을문자'가 몇 번째부터 시작하는지 찾음. 없을 경우, -1 반환.
  • .slice(a,b) a,b는 숫자. a번째부터 시작해서 b번째 직전(불포함)까지 잘라내기
  • .replace('a', 'b') 'a', 'b'는 문자 데이터. 대상 변수 내용에서 'a'를 'b'로 대체한다.
  • .match(/.+(?=@)/) 특정 문자(여기서는 @) 앞의 내용을 찾아봄. 일치하는 내용을 배열데이터로 반환함. 정규표현식. 추후 배울 것.
  • .trim() 대상 문자 데이터 내 앞, 뒤 공백을 제거해 줌. (중간의 공백은 삭제하지 않음.)

참고

  • n번째를 셀 때, 0부터 시작한다는 점 꼭 기억하기.
  • 문자 데이터에 사용 가능한 .length는 앞에 변수 이름 대신 내용을 써도 작동한다.
    - 예시: console.log('abcd'.length) // 4
  • 공백도 문자 데이터로 취급되는 점 주의.
    - 예시: console.log('ab cd'.length) // 5
profile
프론트엔드 개발 입문자입니다. 오타, 틀린 내용 피드백 환영합니다.

0개의 댓글