기본 콘텐츠로 건너뛰기

[WEB] TypeScript 기본 (2) - Angular 코드를 읽기 위해 필요한 TypeScript

[WEB] TypeScript 기본 (2) - Angular 코드를 읽기 위해 필요한 TypeScript

-

좋아요

하이 ~~!!

오늘은 가볍게 Angular 에서 흔히 쓰이는 TypeScript의 형태에 대해 소개하려고한다.

먼저 TypeScript를 사용하면 프로토타입 기반이 객체지향 프로그래밍이 가능해진다.

아래의 타입 스크립트 코드를 보라.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 class SuperClass { public n1 = 10 protected n2 = 20 private n3 = 30 constructor() { this .n1 = 100 this .n2 = 200 this .n3 = 300 } } class SubClass extends SuperClass { constructor() { super () this .n1 = 1000 this .n2 = 2000 /* n3 접근 불가 */ //this.n3 = 3000 } } let sc = new SuperClass();

이렇게 TypeScript 를 활용하면 실제 객체지향 언어처럼 코딩이 가능해진다.

이러한 특성을 기반으로 Angular 에서도 TypeScript를 많이 활용하는데.. 두 가지 정도만 말씀드리겠다.

아래 코드를 보자.

1 2 3 4 5 6 7 8 9 10 11 class Person { constructor( public name: string, public age: number) { } } let person = new Person( 'kang' , 31 ) person.name person.age

위의 코드가 angular에서 많이 사용되는 패턴 중 하나이다.

위의 소스는 일반적으로 객체를 생성하고 멤버 변수를 쓰는 아주 간단한 코드인데... ! 특이한게 클래스 안에 멤버변수가 없다..!

TypeScript에서는 생성자의 파라미터에 public 접근 제어자를 붙여주면 자동으로 멤버변수를 세팅해주는 특성이 있다. (신기하지?)

다음은 두번째 Angular 에서 많이 사용되는 패턴이다.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 function Component(constructorFn?: Function) { / / 클래스를 꾸며주는 로직 구현 return constructorFn } / / Decorator @Component() class AppComponent { constructor() { } }

angular 공부를 좀 해보셨던 분들이라면 Decorator에 대해서 들어본적 있을 거다. 되게 거창할 줄 알았는데 결국 이 Decorator 들도 하나의 함수일 뿐이다. Component니깐 저 클래스를 꾸며주는 로직안에는 HTML 합쳐주고~ CSS 합쳐주고 ~ 뭐.,.. 이런 역할을 할 거다.

굉장히 간단한 내용이지만 눈에 잘 익혀두는게 좋을 것 같다. 그럼 즐거운 코딩하자.

from http://devkingdom.tistory.com/99 by ccl(A) rewrite - 2020-03-07 11:21:23

댓글

이 블로그의 인기 게시물

[aws] deploy Angular app with s3 | AWS S3로 angular 앱 배포하기

[aws] deploy Angular app with s3 | AWS S3로 angular 앱 배포하기 angular project를 빌드한다 ng build --prod 그러면 dist 폴더가 생긴다. dist 폴더 안에 있는 아이들을 사용한다. 아마존 s3 콘솔로 이동 https://s3.console.aws.amazon.com/s3/home?region=ap-northeast-2 새로운 Bucket 을 생성한다(Create bucket). 버킷 이름은 고유하게 짓는다. 버킷 생성후 properties tab > static website hosting을 클릭한다. index document는 index.html은 쓴다. properties > static website hosting Permission tab 에서 권한을 수정한다. overview tab 에서 필요한 파일 업로드 dist 폴더 안에 있는 파일들을 업로드 한다. bucket policy 설정 properties > static website hosting > endpoint 클릭하면 서버에 올라간 앱을 확인 할 수 있다 일단 angular 앱을 올리긴 했는데.. 이걸로는 아무것도 할 수 었다. django로 만든 서버를 올리고 database를 연결하고 그것을 지금 이 angular 앱과 연결해야한다. 아직 어떻게 해야 할지는 모르겠음 계속 삽질 중. 그래도 angular app 하나 올라갔는데 재밌네 from http://paigeblog.tistory.com/18 by ccl(A) rewrite - 2020-03-25 16:20:22

[Debugging] AngularJS2 - Can't bind to 'ngModel' since it isn't a...

[Debugging] AngularJS2 - Can't bind to 'ngModel' since it isn't a... - 좋아요 하이 .. !! Angular2 로 개발을 하다가 아래와 같은 에러를 만났다. 흠 .. 이게 뭘까 열심히 구글링을 해봤다. 간단한 내용이다. 모듈을 추가해주기만 하면 된다. app.module.ts를 열어보자. 여기에다가 FormsModule 과 ReactiveFormsModule을 추가해주면 문제가 해결된다 ! 다들 즐거운 코딩하자. from http://devkingdom.tistory.com/106 by ccl(A) rewrite - 2020-03-18 00:54:15

(주)편두리 채용 정보: PYUNDOORI에서 핫한 개발자분들을 모십니다.

(주)편두리 채용 정보: PYUNDOORI에서 핫한 개발자분들을 모십니다. - 좋아요 아래와 같은 업무를 훌륭히 감당하실 분을 모십니다.서비스 관련 DB 모델링, DB 최적화 작업서버 & DB 관리Frontend & Backend 인터페이스의 최적화 작업 화합과 성장을 같이! - Angular JS의 경험 - Node.js - javascript 능숙자 - DRMS 사용 능숙자 더 많은 내용은 더 많은 내용은 더팀스 에서 확인하세요! from http://theteams.tistory.com/742 by ccl(A) rewrite - 2020-03-22 12:20:20