공부/TIL

typescript

HeoBeomSung 2019. 6. 12. 09:48

=자바스크립트를 클래스 기반 언어처럼 돌아가도록

자바스크립트 = 동작원리를 알아야된다

angular = 사용하는 방법을 알아야한다

자바스크립트 변수에는 타입이 없다 = 타입이있으면 정적타입 언어다 = 자바스크립트는 동적타입 언어다

int x 는 태어날때부터 정수만을 위한 변수다

동적타입 언어 : 장점 : 간편하다, 단점 :실수를 유발한다,

정적타입 언어 : 장점: 코드를 예측이 가능하다 단점 :

html, css ,javascript가 한꺼번에 있는게 컴포넌트

cbb 컴포넌트 기반 개발

angular와 react의 차이: 상태감지?

공부방법

예제를 만들어본다

바닐라로 만들기 -> 앵귤러로 만들기 -> 리액트로 만들기 -> 뷰로만들기

타입을 any로 방치하지 않는다

pass by value

pass by reference로 넘기는것

[]프로퍼티바인딩

()클래스바인딩

타입스크립트

자바스크립트는 모듈이 없었고, 정적타이핑을 지원해주지 않는다

프로젝트의 규모가 클수록 동적타이핑은 불편함이 있다

대체언어(alt)가 있었다

타입스크립트도 altjs의 종류다, 그런데 거의 비슷해서 헷갈린다

'타입스크립트는 자바스크립트의 SuperSet이다'

let foo: string = 'hello' (타입스크립트가 제공하는것은 모두 소문자)

사실 이문장은 할당문이 있기때문에 타입을 안붙혀도 된다

let foo :string (선언만 할때 붙힌다)

function multiply1(x: number, y: number): number

리턴타입을 파라미터 디에 써준다

정적 타이팅의 장점은 **코드 가독성, 예측성, 안정성의 향상**

선언과 할당을 분리한 상태에선 타입을 써주어야한다

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ클래스

자바스크립트의 클래스와 타입스크립트의 클래스는 미묘하게 다르다

추상클래스(자바같은 클래스기반 문법)

추상메소드(메소드이름만 있음 (상속용))

->상속받는 메소드는 추상메소드를 반드시 구현해야됨

동물

소리(동물마다 소리가 다르니까)

움직임

->규모가 큰 개발을 할때 필요해

추상클래스 : 반드시 한개이상의 추상메소드를 갖는것

인터페이스 :모든 메소드가 추상메소드인것 ( 실체가 아무것도없음)

ㅡㅡㅡㅡ인터페이스

추상클래스보다 구속력이 강하다

ㅡㅡㅡㅡㅡ덕타이핑

내용이 중요하다

ㅡㅡㅡㅡㅡ선택적프로퍼티

구현해도되고 안해도 된다

'인터페이스/ 클래스 컨스트럭터의 접근제한자를 주는것'

반응형