본문 바로가기

JS/TypeScript

TSLint TSLint는 타입스크립트 소스 코드가 코딩 규칙을 따라 컴파일된다면, 타입스크립트의 코드 질 확인을 위한 소프트웨어 개발에 쓰이는 정적 코드 분석 도구이다. TSLint는 타입스크립트 코드의 가독성, 유지보수성, 기능성 오류를 검사한다. 사용법tslint [options] [file ...] 기본적으로, TSLint는 파일이 lint될 파일의 디렉토리에서 tslint.json이라는 configuration 파일을 찾는다. 못찾으면 상위 디렉토리를 검색한다. --fix대부분의 경고를 자동 수정https://stackoverflow.com/questions/44841215/auto-fix-tslint-warnings -c, --configtslint 어떤 규칙이 활성화되고 무슨 옵션이 규칙에 제공될 지 결..
암묵적 타이핑 implicit typing 변수 또는 함수 초기화 시 할당을 해준 경우 자료형을 명시하지 않아도 타이핑이 된다. let a = 10a = 'hi' a에 10을 할당하게 되면 a의 타입은 number가 된다.이렇게 쓰면 number 형식에 'hi'를 할당할 수 없다고 에러 메시지가 뜬다. let aa = 10a = 'hi'a를 선언하고 다음 줄에서 할당하게 되면 에러가 안뜬다. 선언 시 값을 할당해줘야 암묵적 타이핑이 된다. 함수의 경우도 마찬가지로function func(){ return 'hi'} let f = func()f = 10f에 함수가 할당되었으면 f는 string 타입이 된다. 그러므로 문자열은 다시 할당될 수 있지만 number 타입은 안된다. 그리고 화살표 함수나 함수를 할당해도 안된다(???) 선언 시 값을 할당..
간단한 자동차 클래스를 상속 받은 클래스로 만든 인스턴스 class Car{ speed : number; constructor(speed:number){ this.speed = speed; } originName(){ return 'Lamborghini' }} class Lambo extends Car{ speed : number; spec(speed:number,name?:string,zero100?:number){ let carName = super.originName() /*console.log(`${this.speed},${carName}`) console.log(speed,name) console.log(typeof(speed),typeof(carName),typeof(name))*/ let sec=0; let interval = setInterval..
타입스크립트 튜토리얼 모듈 모듈은 타입스크립트로 작성된 코드를 구성하기 위한 아이디어로 설계되었다. 모듈은 내부 모듈, 외부 모듈로 나뉜다. 내부 모듈 클래스, 인터페이스, 함수를 하나의 단위로 논리적으로 그룹화하기 위해 쓰이고 다른 모듈로 export될 수 있다. 이 논리적 그룹핑은 타입스크립트의 최신 버전에서 네임스페이스라고 불린다. 그래서 내부 모듈은 구식이고 네임스페이스를 대신 쓸 수 있다. 내부 모듈은 여전히 지원되지만 네임스페이스를 쓰는 게 권장된다. 내부 모듈 문법 (old)module TutorialPoint { export function add(x, y) { console.log(x+y); } } 네임스페이스 문법 (new)namespace TutorialPoint { export function add(x, y..
문자열 치환 자바스크립트에서는 문자열에 값을 더하고 또 문자열을 더하는 것은 매우 불편했다.'abc' + val + 'efg' 문자열 포매팅을 하면 런타임에 치환이 된다.템플릿 리터럴 `` 사이에 변수를 넣는데 그냥 넣는 게 아니고 ${변수}를 넣는다.${} const alpha='d' console.log(`abc${alpha}efg`)
타입스크립트 문서 강의 https://ahnheejong.gitbook.io/ts-for-jsdev/01-introducing-typescript/intro
타입스크립트 튜토리얼 namespace 네임스페이스는 연관된 코드를 논리적으로 묶는 방법이다. 변수 선언이 전역 범위로 들어가는 자바스크립트와는 달리 타입스크립트에 내장되어 있다. 동일한 프로젝트 내에서 여러 자바스크립트 파일이 사용되는 경우 동일한 변수를 덮어 쓰거나 잘못 해석할 가능성이 있으므로 자바스크립트에선 "전역 네임스페이스 오염 문제"가 발생한다. 네임스페이스 정의네임스페이스 정의는 namespace 키워드와 이름으로 시작한다.namespace SomeNameSpaceName { export interface ISomeInterfaceName { } export class SomeClassName { } } 네임스페이스 바깥에서 접근해야 하는 클래스 또는 인터페이스는 export 키워드로 표시해야 한다.다른 네임스페이스에서의 클래스..
타입스크립트 튜토리얼 object 객체는 키 값 쌍의 세트를 포함하는 인스턴스다. 값은 스칼라 값 또는 함수 또는 다른 객체의 배열의 될 수 있다. 문법var object_name = { key1: “value1”, //scalar value key2: “value”, key3: function() { //functions }, key4:[“content1”, “content2”] //collection }; 객체 리터럴 표기법var person = { firstname:"Tom", lastname:"Hanks" }; //access the object values console.log(person.firstname) console.log(person.lastname)출력Tom Hanks 타입스크립트 타입 템플릿자바스크립트 에서 객체 리..