본문 바로가기
728x90
반응형

IT/TypeScript12

접근 제한자(access modifier) 와 생성자(constructor), 클래스,인터페이스 ■ 접근 제한자 종류 : public, private, protect 지정하지 않으면 모두 public ■ 생성자 constructor 라는 예약어를 사용함. 특이점은 생성자에서 멤버 변수를 선언할 수 있다. 예) class School { constructor(public schoolName: string, public schoolAddress?: string) {} } let myschool : School = new School('멋진고등학교', '대전시 서구 용문동') console.log(myschool) 인터페이스를 구현한 클래스 예 interface ISchool { schoolName : string schoolAddress : string } class School implements I.. 2022. 10. 20.
타입주석(type annotation), 타입추론(type inference), 선택속성(optional property), 템플릿 문자열(template string) ■ 타입주석(type annotation) 변수명 뒤에 변수의 타입을 지정하는 것. 예) let name : string = '이쁜이'; ■ 타입추론(type inference) TSC 가 자동으로 타입을 추론하는 기능으로, JS 와의 호환성을 위해서 존재함. 그러나, 한번 타입이 정해지면 다른 타입의 값은 넣을 수 없음. let name = 'Pretty'; 위 변수 name에는 오직 string 만 넣을 수 있다. ■ 선택속성(optional property) 인터페이스 멤버중에 필수속성이 아니기 때문에, 있어도 되고 없어도 되는 경우에 변수명 뒤에 '?' 를 붙여서 선택속성을 만들수 있다. 예를 들어 interface IMember { name: string; // 필수 age: number; //.. 2022. 10. 19.
node 패키지 설치하고, 소스파일 생성하기 (프로젝트 생성 full 버전) 1. 프로젝트 디렉토리 만들고. 2. 프로젝트 디렉토리로 이동. 3. 다음 명령어 실행 C:\Projects\TsProj\ch02-1>npm init --y ====> package.json 파일 생성용 Wrote to C:\Projects\TsProj\ch02-1\package.json: { "name": "ch02-1", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "", "license": "ISC" } C:\Projects\TsProj\ch02-1> ==========.. 2022. 10. 14.
@types/ 의 의미 - 컴파일러가 라이브러리 함수 사용 검증용 package.json 에서 @types/ 로 시작하는 것들은 항상 index.d.ts 라는 이름의 파일을 가지며, 타입스크립트 컴파일러는 이 파일들을 이용해서, 프로그래머가 라이브러리가 제공하는 함수들을 제대로 사용했는지 검증한다. 2022. 10. 14.
728x90
반응형