[typescript] 6. 연산자
1. 기본 연산자
1) 산술 연산자
산술 연산자 |
의미 |
+ |
덧셈 |
- |
뺄샘 |
* |
곱셈 |
/ |
나눗셈 |
% |
나머지 |
2) 비교 연산자
비교 연산자 | 예 |
의미 |
== | a == b |
a 와 b의 값이 같은지 비교 |
=== | a === b | a 와 b의 값과 타입이 같은지 비교 |
!= | a != b |
a 와 b의 값이 다른지 비교 |
!== | a !== b |
a 와 b의 값과 타입이 다른지 비교 |
> | a > b |
a 가 b 보다 큰지 비교 |
< | a < b |
a 가 b 보다 작은지 비교 |
>= | a >= b |
a 가 b 보다 크거나 같은지 비교 |
<= | a <= |
a 가 b 보다 작거나 같은지 비교 |
3) 논리 연산자
논리 연산자 |
예 |
의미 |
&& |
a && b |
a 와 b 가 true 일때 만 true |
|| |
a || b |
a 또는 b 가 true 일때 만 true |
! |
!true |
true가 아니다. |
4) 조건 연산자
- 3항 연산자
판별 조건 ? 표현식 1 : 표현 식 2
=> 판변 조건이 true 이면 표현식 1이 반환
=> 판변 조건이 false 이면 표현식 2이 반환
2. 디스트럭처링(destructuring)
- typescript는 ES6의 디스트럭쳐링(destructuring)을 지원합니다.
- 객체 또는 배열의 구조를 분해 후 할당 이나 확장과 같은 연산을 수행 합니다.
- destory + structure = destructuring
1) 객체 디스트럭처링
(1) 기본 형식
- 객체 property 에 맞추어서 객체 디스트력쳐링이 이루어집니다.
(2) 디스트럭쳐링 초기화
- 디스트럭쳐링 할당시 할당 받을 속성이 없면 새롭게 변수를 정의해서 초기화 해둡니다.
(3) 디스트럭쳐링시 새로운 변수 명 지정
- { 변수명 : 새로운 변수명 } = { 변수명 }
(4) 험수에 디스트럭쳐링 매개 변수 전달 방법
- 디스트럭쳐링 매개 변수에 모두 기본 값을 할당
> name은 호출시 값으로 세팅되며, contury는 ?로 세팅된다.
- 디스트럭쳐링 매개 변수에 기본 객체를 할당
> name은 호출시 값으로 세팅되며, contury는 korea로 세팅된다.
- type 키워드를 이용한 매개 변수 전달
> a, b, 타입을 미치 정의한 C type을 지정
a 타입은 string 타입으로 생략 불가능
b 타입은 선택 연산자인 ? 를 사용 했기 때문에 새략이 가능
2) 배열 디스트럭쳐링
- 배열 요소를 간결한 방법으로변수에 할당 하는 방법을 제공 합니다.
- 다음 예제는 numbers 배열을 만든후 배열 디스트럭쳐링을 사용하여, num1, num2, num3에 할당 합니다
(1) 배열 디스트럭쳐링 요소 건너뛰어서 할당 하기
- "," 개수 만큼 요소를 건너 뜁니다.
(2) 배열 요소 교환 하기
(3) 배열 요소를 함수의 디스트럭쳐링 매개변수로 전달
3. 전개 연산자
- 전개 연산자는 '...' 으로 나타내는데 다음 3가지 경우에 사용됩니다.
1) 나머지 매개 변수를 선언 할때
- 함수에서 용됩니다. (다음 포스트에서..)
2) 배열 요소를 확장 할때
- 배열 합치기
> ...arr 을 arr 로 치환 합니다.
- 배열 디스트럭쳐링
> ... second에 나머지 배열 정보가 다 들어 갑니다.
3) 객체 요소를 확장 할때
- 객체 합치기
> 배열 합치기와 동일 합니다.
> ...obj 를 obj로 치환 합니다
- 객체 디스트럭쳐링
> 객체 property 에 맞추어서 객체 디스트력쳐링이 이루어집니다.
'ProgrammingLang > typescript' 카테고리의 다른 글
[webpack] 에러 발 생시 해결 방법 (0) | 2019.04.21 |
---|---|
[typescript] 7. 함수 (선언적 함수, 익명 함수, 콜백 함수) (0) | 2018.12.06 |
[typescript] 5. 제어문 (0) | 2018.12.05 |
[typescript] 4. typescript 기본 타입과 변수 선언 (0) | 2018.12.04 |
[typescript] 3. 개발 환경 구축 및 테스트 프로젝트 (0) | 2018.12.01 |