오늘은 몰랐으면 내일은 알면 된다
[Angular] AngularJS 튜토리얼 2. 식(Expressions) 본문
AngularJS는 식을 통해 데이터와 HTML을 연결한다.
1. 이중괄호를 사용해서 나타낼 수 있다. {{expression}}
2. 디렉티브를 사용해서도 나타낼 수 있다. ng-bind="expression"
3. Angular는 식을 읽어들여 해당 식이 사용된 곳에 데이터를 반환해준다.
4. JavaScript expression과 유사하다.
<div ng-app="">
<p>My first Expression : {{ 5 + 5 }} </p>
</div>
ng-app 디렉티브를 제거하면 식을 해석하여 10을 반환하는 게 아니라 {{ 5 + 5 }}라는 text가 그대로 출력되게 된다.

다음과 같은 형태로도 사용할 수 있다.
어떠한 형태로 사용하든지, 식이 사용된 부분을 resolve해서 데이터를 출력해준다.
<div ng-app="" ng-init="myCol='grey'">
<input style="background-color:{{myCol}}" ng-model="myCol">
</div>

[ AngularJS의 Number ]
: JS의 number와 같다.
<div ng-app="" ng-init="quantity=1; cost=5">
<p>Total in dollar: {{ quantity * cost }} </p>
</div>
이중괄호를 사용
<div ng-app="" ng-init="quantity=1; cost=5">
<p>Total in dollar: <span ng-bind="quantity * cost"></span> </p>
</div>
ng-bind 디렉티브를 사용

[ AngularJS의 String ]
: JS의 String과 같다.
<div ng-app="" ng-init="firstName='KIM'; lastName='NY'">
<p>The name is {{ firstName + " " + lastName }}</p>
</div>
이중괄호를 사용
<div ng-app="" ng-init="firstName='KIM'; lastName='NY'">
<p>The name is <span ng-bind="firstName + ' ' + lastName"></span></p>
</div>
ng-bind 디렉티브를 사용

[ AngularJS의 Object ]
: JS와 같다.
<div ng-app="" ng-init="person={firstName: 'KIM', lastName: 'NY'}">
<p>The name is {{person.lastName}}</p>
</div>
이중괄호를 사용
<div ng-app="" ng-init="person={firstName: 'KIM', lastName: 'NY'}">
<p>The name is <span ng-bind="person.lastName"></span></p>
</div>
ng-bind 디렉티브를 사용
[ AngularJS의 Array ]
: JS와 같다.
<div ng-app="" ng-init="points=[1,2,3,4,5]">
<p>The third result is {{points[2]}}</p>
</div>
이중괄호를 사용
<div ng-app="" ng-init="points=[1,2,3,4,5]">
<p>The third result is <span ng-bind="points[2]"></span></p>
</div>
ng-bind 디렉티브를 사용

다 똑같다는데 그럼 뭔 차이가 있는걸까?
[ AngularJS 의 Expression VS JavaScript 의 Expression ]
: JS와 마찬가지로 AngularJS의 식에서도 리터럴(literal), 연산자(Operator), 변수(variable)을 가진다.
리터럴(Literal) : 소스 코드의 고정된 값을 대표하는 용어이다. 소스 코드에서 프로그래머에 의해 직접 입력된 값을 의미한다
ko.wikipedia.org/wiki/%EB%A6%AC%ED%84%B0%EB%9F%B4
리터럴
위키백과, 우리 모두의 백과사전. 컴퓨터 과학 분야에서 리터럴(literal)이란 소스 코드의 고정된 값을 대표하는 용어다. 거의 모든 프로그래밍 언어는 정수, 부동소수점 숫자, 문자열, 불린 자료
ko.wikipedia.org
상수와 리터럴의 차이점에 관해서는 아래의 블로그를 참조.
상수(constant) 와 리터럴(literal)이란?
상수(constant)와 리터럴(literal)에 대해 들어본적이 있는가? 만약, 프로그래밍을 어느정도 해왔던 사람이면 한번쯤은 들어봤을만한 용어 들 이다. 하지만 두 용어를 같은 의미로 사용하는 사람들
mommoo.tistory.com
| 공통점 | 리터럴(literal), 연산자(Operator), 변수(variable)을 가진다. |
| 차이점 | |
| AngularJS | JavaScript |
| 1. HTML의 내부에서 사용이 가능하다. 2. 조건문, 반복문, 예외처리등을 지원하지 않는다. 3. filter를 지원한다. (filter에 관해서는 이후 튜토리얼에서 이어서 포스팅) |
1. HTML 내부에서 사용이 불가능하다. 2. 조건문, 반복문, 예외처리등을 처리할 수 있다. 3. filter를 지원하지 않는다. |
'Front > Angular' 카테고리의 다른 글
| [Angular] AngularJS 튜토리얼 6. 데이터 바인딩(Data Binding) (0) | 2021.03.10 |
|---|---|
| [Angular] AngularJS 튜토리얼 5. 모델(ng-model directive) (0) | 2021.03.09 |
| [Angular] AngularJS 튜토리얼 4. 지시어(Directives) (0) | 2021.03.05 |
| [Angular] AngularJS 튜토리얼 3. 모듈(Modules) (0) | 2021.03.04 |
| [Angular] AngularJS 튜토리얼 1. 개요(Intro) (0) | 2021.03.02 |