본문 바로가기

전체 글34

인터페이스 인터페이스 기초자바나 컴개론 등에서 배웠던 인터페이스와 동일하다.객체가 A 인터페이스의 타입이다 라는 것은 해당 인터페이스의 메소드를 구현했다는 의미.즉, 클래스나 객체가 어떤 멤버 변수와 메서드를 가져야 하는지 정의한 것을 인터페이스라고 한다. 다만, 타입스트립트의 interface 는 객체 타입 뿐만 아니라 아래에 대해서도 타입을 정의할 수 있다.객체의 스펙(속성과 속성의 타입)함수의 파라미터함수의 스펙(파라미터, 반환 타입 등)배열과 객체를 접근하는 방식클래스let person = { name: 'Capt', age: 28 };function logAge(obj: { age: number }) { console.log(obj.age); // 28}logAge(person); // 28 위 함수의 .. 2025. 4. 13.
함수 기본적인 함수의 타입 선언은 다음과 같다.function sum(a: number, b: number): number { return a + b;}그냥 JS의 매개변수와 반환 값에 타입을 붙여준게 끝이다. 함수 파라미터- TypeScript 에서 함수의 인자는 모두 필수값으로 간주되고, 컴파일러가 이를 꼭 확인한다.- 따라서 undefined, null 이라 할지라도 인자로 꼭 넘겨줘야한다.function sum(a: number, b: number): number { return a + b;}sum(10, 20); // 30sum(10, 20, 30); // errorsum(10); // error* 파라미터 초기화는 JS랑 동일하다function sum(a: number, b = '100'): n.. 2025. 4. 11.
기본 타입 String, number, boolean, object, array, tuple, enum, any, void, never 이 있다.이 중에서 주의할 것만 몇 가지 살펴보고 넘어가자. objectlet product: object = { name: 'pdr-1234', lang: 'kor' };위와 같이 쓸 수 있지만, 보통은 "인터페이스" or "타입 별칭" 을 쓴다. 배열 // 방법1. [] 배열 선언let arr1: number[] = [1,2,3,4,5]; // 방법2. 제네릭 선언let arr2: Array = [1,2,3,4,5]; 튜플- 배열의 길이가 고정되고, 각 요소의 타입이 지정되어 있는 배열.let arr: [string, number] = ['hi', 10];정의되지 않는 타입이.. 2025. 4. 11.
어째서 타입스크립트인가? 타입스크립트- JavaScript + Type- 기존 JS와 다르게 컴파일 과정을 필요로하며, 타입이 부여된 언어. 기존 JS라던가 vue.js 등 쉬운 방법이 다양한데도 어째서 타입스크립트를 사용하는 추세인지 알아보자. 1. 에러 방지- 타입이 부여되었기 때문에 에러를 사전에 방지할 수 있다.function sum(a: number, b: number) { return a + b;}기존 JS는 타입이 없으므로 sum(a, b) 이렇게 사용했을 것이다.JS 라면 sum(10, 10) = 20 도 OK. sum("10", "10") = "1010" 도 OK... 뭔가 이상하다.내가 의도한 용도에서 벗어나지 않도록, 사전에 경고해주는 것이 타입스크립트의 에러 사전 방지 기능이다.* 기존 JS의 TOP 10.. 2025. 4. 11.
Behavior Driven Development(BDD) 소프트웨어 테스팅 방법론 중 하나- test, document, example 을 모두 모아놓은 개념- 명세서(spec) 작성 시, 아래와 같은 양식으로 작성할 수 있다.describe("pow", function() { it("주어진 숫자의 n 제곱", function() { assert.equal(pow(2, 3), 8); });});명세서의 구성 요소1. describe("제목", function() { ... })구현하고자 하는 기능에 대한 설명it 블록을 모아주는 역할2. it("useCase 설명", function() {...})누구나 읽을 수 있도록 자연어로 작성function은 유즈 케이스 테스트 함수가 들어간다.3. assert.equal(val1, val2)제대로 구현했다면 .. 2025. 4. 10.
화살표 함수 사용법- 함수 표현식을 축약해서 쓰는 것.let func = (arg1, arg2, ...argN) => expression위 아래는 같은 함수.let func = function(arg1, arg2, ...argN) { //함수 표현식 return expression;};let sum = (a, b) => a + b;/* 위 화살표 함수는 아래 함수의 축약 버전입니다.let sum = function(a, b) { return a + b;};*/alert( sum(1, 2) ); // 3 - 본문이 여러 줄인 경우에는 => 옆의 expression 을 { } 로 감싸주면 된다.let sum = (a, b) => { // 중괄호는 본문 여러 줄로 구성되어 있음을 알려줍니다. let result =.. 2025. 4. 8.