일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 26 | 27 | 28 |
29 | 30 | 31 |
- 프로퍼티
- Linux
- AOP
- @Spring-Test
- Ubunt
- XML
- @AspectJ
- JdbcTemplate
- @test
- Spring JDBC
- Framework
- STS
- @JUnit
- SpringJDBC
- Spring Boot
- spring framework
- pointcut
- java spring
- 리눅스
- myBatis
- 마이바티스
- java
- spring aop
- Dependency Injection
- 컨테이너
- unix
- POJO
- JDBC TEMPLATE
- spring
- Di
- Today
- Total
개키우는개발자 : )
TypeScript 기본타입 본문
광고 클릭은 개발자(저) 에게 큰 힘이 됩니다!!'ㅁ'
| 타입 스크립트 기본 타입
최신 ECMAScript 표준은 다음과 같은 7개의 자료형을 정의한다.
let numValue : number;
let stringValue : string;
let boolenValue : boolean;
let undefinedValue : undefined;
let nullValue : null;
let objValue : object;
let symbolValue : symbol;
let anyValue : any;
기본 자료형(Primitive) 타입
- Number
- String
- Boolean
- Undefined
- Null
- Symbol (ECMAScript 6에 추가됨)
- 객체형 타입 object가 있습니다.
타입을 선언한 변수는 꼭 같은 타입으로만 값을 넣어주어야 합니다.
| number type
음수, 양수, 소수점 값 모두 입력이 가능한 타입.
numValue = 1;
numValue = -1;
numValue = 3.3;
numValue = 3.33333;
numValue = 3333.3;
| string type
문자열 값을 입력할 수 있는 타입 특징은 "" Double Quotation , '' Single Quotation 모두 가능하며 es6에서 나온
`` Template literal(백 틱) 3가지 방식이 가능합니다. "", '' 은 값을 입력할 때 줄 바꿈을 할 수 없습니다. 하지만 ``은 줄 바꿈도 가능하고 ` ` 안에 ${ } string interpolation이라 하는데 수식 또는 자바스크립트 변수 등등 값을 넣을 수 있습니다.
stringValue ="hello";
stringValue ='hello';
stringValue =`
hello
hi
${1+1}
`;
stringValue ="he
llo"; // 에러
| boolean type
true , false 값만 가능
booleanValue = true;
| undefined type & Null type
값을 할당하지 않은 변수는 undefined 값을 가진다.
Null 타입은 딱 한 가지 값, null을 가질 수 있다.
undefined 나 null 타입은 애초에 모든 타입의 가장 하위 타입이기 때문에 모든 타입에 값을 적용합니다. 하지만 굳이 이 두타입을 타입으로 선언해서 사용할지는 의문이네요?ㅋ
undefinedValue = undefined;
undefinedValue = null;
numValue = null;
numValue = undefined;
objValue = null;
objValue = undefined;
symbolValue = null;
symbolValue = undefined;
| 두 타입의 차이
null 또는 undefined를 검사할 때, 동등 연산자(==)와 일치 연산자(===)의 차이를 주의하세요. 동등 연산자는 자료형 변환을 수행합니다.
typeof null // "object" (하위호환 유지를 위해 "null"이 아님)
typeof undefined // "undefined"
null === undefined // false
null == undefined // true
null === null // true
null == null // true
!null // true
isNaN(1 + null) // false
isNaN(1 + undefined) // true
| Symbol type
Symbol 은 ECMAScript 6에서 추가되었다. Symbol은 유일하고 변경 불가능한 (immutable) 기본값 (primitive value)이다. 또한, 객체 속성의 key 값으로도 사용될 수 있다.
MDN에 들어가서 보시면 훠얼씬 정확하게 알 수 있습니다.
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Symbol
new 연산자를 사용하지 않습니다. 함수형
symbolValue = Symbol();
symbolValue = Symbol(1);
symbolValue = Symbol(2);
symbolValue = Symbol(3);
{
symbolValue : 'hi'
}
| Object type
컴퓨터 과학에서, 객체는 식별자 (Identifier)로 참조할 수 있는, 메모리에 있는 값이다.
object 타입에는 원시형 값인 문자, 숫자, Boolean 값을 넣을 수 없다. 객체 안에 key와 value로 값을 저장할 수 있다.
objValue = new Object();
objValue = {}
objValue = { name : 'dog' };
또 다른 방법으로는 String 객체는 값을 저장할 수 있다 하지만, String 함수의 hi는 기본 타입의 문자 이기 때문에 new 연산자를 사용한 String 객체와는 다르게 값을 저장할 수 없습니다. Obejct도 객체고 new 연산자로 값을 불러오면 그것 또한 객체기 때문에 값이 저장 가능하죠
objValue = new String("hi"); // true
objValue = String("hi"); // error
그렇다면 Object type에 객체 key 값들의 타입 또한 지정 가능합니다. user1 객체의 name은 string , score는 number 타입으로 지정하였기 때문에 user1의 값들에는 정확한 타입의 값이 들어가야 합니다.
let user1 : {name : string ,score: number};
user1 = { name : "dog", score : 50 } // true
user1 = { name : "dog", score : "50" } // error
| Array type
배열 또한 타입을 지정할 수 있습니다. nameList 에는 String 값만 넣을 수 있으며, tuple2 배열에는 숫자, 문자, 2개의 index값만 넣을 수 있습니다.
let nameList : string[];
nameList = ["a","b","c"];
let tuple2 : [number,string];
tuple2 = [1,"hi"];
| Any type
최상위 타입으로 어떠한 타입이든 저장 가능하다.
anyValue = "a";
anyValue = 1;
anyValue = {};
anyValue = null;
'TypeScript > TypeScript' 카테고리의 다른 글
TypeScript 함수형 타입 (0) | 2020.01.04 |
---|---|
TypeScript 인터페이스 (0) | 2020.01.04 |
TypeScript 변수선언 (0) | 2020.01.03 |
TypeScript 컴파일러 설정파일 (1) | 2020.01.03 |
TypeScript 컴파일러 (4) | 2020.01.01 |