typescript
=자바스크립트를 클래스 기반 언어처럼 돌아가도록
자바스크립트 = 동작원리를 알아야된다
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
리턴타입을 파라미터 디에 써준다
정적 타이팅의 장점은 **코드 가독성, 예측성, 안정성의 향상**
선언과 할당을 분리한 상태에선 타입을 써주어야한다
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ클래스
자바스크립트의 클래스와 타입스크립트의 클래스는 미묘하게 다르다
추상클래스(자바같은 클래스기반 문법)
추상메소드(메소드이름만 있음 (상속용))
->상속받는 메소드는 추상메소드를 반드시 구현해야됨
동물
소리(동물마다 소리가 다르니까)
움직임
->규모가 큰 개발을 할때 필요해
추상클래스 : 반드시 한개이상의 추상메소드를 갖는것
인터페이스 :모든 메소드가 추상메소드인것 ( 실체가 아무것도없음)
ㅡㅡㅡㅡ인터페이스
추상클래스보다 구속력이 강하다
ㅡㅡㅡㅡㅡ덕타이핑
내용이 중요하다
ㅡㅡㅡㅡㅡ선택적프로퍼티
구현해도되고 안해도 된다
'인터페이스/ 클래스 컨스트럭터의 접근제한자를 주는것'