티스토리 뷰

PDR Tech log

Angular2 asterisk * 에 대하여

PDR 비비로그 2017. 3. 10. 18:47

     Angular2로 작업을 하다 보면 *ngFor, *ngSwitchCase 와 같이 * (asterisk)가 등장 합니다. *ngFor, *ngSwitchCase 그 자체에 통째로 의미를 부여해 사용 해도 되지만 해당 syntax 에서 * 의 의미를 알면 Framework 사용에 좀 더 익숙 해 질 수 있습니다.. 


    한마디로  설명하면 * 는 Angular 에서 template syntax 입니다. 



     위의 두 코드 블락은 동일한 동작을 합니다. 첫번째는 * 를 사용 했고 두번째는 html template element를 사용했습니다. 이 부분을 이해 하고 있으면 * 가 어디에 붙던지 동작을 이해 하기가 한결 쉽게 느껴 질 겁니다. 


    우리가 한 언어의 문법을 공부할때 쉽게 놓치는 부분이 있습니다. 영어와 같은 실생활 언어나 Programming Language 를 학습하는 우리의 목적은 해당 문법에 익숙해지고 그 걸 바탕으로 자신의 의도를 표현하는 방식을 고도화 해 나가는 작업 이라는 것입니다.  하지만, 잘 못된 학습은 이해 하여야 할 것을 암기 할려고 한다는 것입니다. 


    영어의 학습에 있어서도 우리들은 문법을 외워야 하는 학습환경에서 자라 왔습니다. 언어는 암기보다 이해와 익숙해짐을 통한 고도화가 목표인데 말입니다. 일례로 '현재완료' 를 공부할때 'have + p.p" 라고 공부하고 용법을 암기 하도록 강요 받았습니다. 'p.p' 가 뭔지도 모른체 말입니다...  사실 의미적으로는 'p.p' 부분의 동작을 가지고 있다 (have) 는 뉘앙스 인데 이를 느끼고 이해 하는 과정보다는 단순히 문형을 통째로 외우게 된겁니다. 이런 부분이 저를 포함한 한국인들이 영어를 힘들어 하는 이유라고 생각합니다.


    Angular 2의 *를 설명하다가 영어 까지 나오게 되었는데요... 언어 (영어, Javascript, etc)를 공부하시는 분들이 암기가 아니라 의미 를 좀더 고민 하기를 바라는게 제 결론 입니다. 참, Angular 2에서 *는 template 를 쉽게 사용할 수 있는 syntax 입니다.


- by Jake - 

댓글
댓글쓰기 폼