본문 바로가기

TIL153

[TIL] 23.09.27 Today I Learned / implements, index signatures, 타입 변환기, 조건문 사용, infer 요약: implements, index signatures, 타입 변환기, 조건문 사용, infer 일시: 23.09.27 장소: 강릉 집 배운 점: implements class 타입을 확인하고 싶은 때, implements 키워드를 사용하면서 interface 문법을 사용 interface Person { name : string, age : number } class Students implements Person { name : string; age : number = 19; constructor(a :string){ this.name = a } } let student1 = new Person('kim'); index signature ndex signatures는 객체의 속성 이름을 동적으로 .. 2023. 9. 27.
[TIL] 23.09.26 Today I Learned / 튜플타입, declare, ambient module, d.ts 요약: 튜플타입, declare, ambient module, d.ts 일시: 23.09.26 장소: 강릉 이디야 배운 점: Tuple Types TypeScript에서 배열과 유사하지만 요소의 개수와 각 요소의 타입이 미리 정의된 고정된 타입을 가지는 데이터 구조 let myTuple: [string, number]; myTuple = ["Hello", 42]; // 유효한 할당 myTuple = [42, "Hello"]; // 에러: 타입 불일치 declare 타입 정의 TypeScript에서 다른 스크립트나 라이브러리에서 가져오거나 사용하는 외부 변수, 함수, 클래스, 모듈 등을 선언하는 데 사용 단, 같은 ts 파일끼리는 declare 키워드가 필요하지 않음. (data.js) let a = 'k.. 2023. 9. 27.
[TIL] 23.09.25 Today I Learned / 타입스크립트에서의 제네릭 함수 요약: 타입스크립트에서의 제네릭 함수 일시: 23.09.25 장소: 강릉 이디야 배운 점: Generic function 제네릭 함수(Generic function)를 사용하면 함수 내에서 여러 데이터 유형에 대해 재사용 가능한 코드를 작성할 수 있음. 이것은 함수의 매개변수 및 반환 값의 데이터 유형을 동적으로 지정할 수 있게 해줌. 제네릭 함수는 특정한 데이터 유형에 종속되지 않는 일반적인 로직을 작성하는 데 유용. // T라는 제네릭 타입 매개변수를 받는 제네릭 함수 선언 function identity(arg: T): T { return arg; } // 제네릭 함수를 호출하면서 데이터 유형을 지정 let value1 = identity("Hello, TypeScript!"); // 문자열을 인자.. 2023. 9. 26.
[TIL] 23.09.21 Today I Learned / 타입스크립트에서 타입을 export하고 import하는 방법 요약: typescript 기본 문법 일시: 23.09.21 장소: 더휴먼컴퓨터아트아카데미 배운 점: 타입스크립트에서 타입을 export하고 import하는 방법 export 타입을 정의할 파일을 생성 (이 파일은 .ts 확장자를 가짐) 예를 들어, types.ts라는 파일을 생성하여 타입을 정의함. // types.ts export type Person = { name: string; age: number; }; import import 문을 사용하여 Person 타입을 types.ts 파일로부터 가져옴. // main.ts import { Person } from './types'; // 타입 import const person: Person = { name: 'John', age: 30, }; co.. 2023. 9. 26.
[TIL] 23.09.20 Today I Learned / typescript 기본 문법 요약: typescript 기본 문법 일시: 23.09.20 장소: 더휴먼컴퓨터아트아카데미 배운 점: static 키워드 static 키워드를 사용하면 클래스 자체에 속한 정적(static) 멤버를 정의할 수 있습니다. 클래스의 인스턴스와는 독립적으로 사용되며, 클래스의 모든 인스턴스에서 공유됩니다. 주로 일반 함수나 클래스 메서드를 정의할 때 사용됩니다. class MathUtils { static add(x, y) { return x + y; } static subtract(x, y) { return x - y; } } const result1 = MathUtils.add(10, 5); // 정적 메서드 호출 const result2 = MathUtils.subtract(10, 5); protecte.. 2023. 9. 26.
[TIL] 23.09.19 Today I Learned / typescript 기본 문법 요약: typescript 기본 문법 일시: 23.09.19 장소: 더휴먼컴퓨터아트아카데미 배운 점: Literal Type Literal Type은 TypeScript에서 사용되는 데이터 타입 중 하나입니다. 이는 해당 값이 특정한 리터럴 값을 가져야 함을 정의합니다. 예를 들어, 문자열 리터럴 타입인 "apple"은 "apple" 값만 가질 수 있고 다른 문자열은 허용하지 않습니다. 이를 통해 정확한 값을 갖는 변수나 매개변수를 정의할 때 유용하게 사용할 수 있습니다. let fruit: "apple" | "banana" | "orange"; fruit = "apple"; // 올바른 할당 fruit = "grape"; // 에러: 허용되지 않는 값 as const 문법 as const 문법은 Typ.. 2023. 9. 19.
[TIL] 23.09.18 Today I Learned / 마이페이지 제작 1 요약: 마이페이지 제작 1 일시: 23.09.18 장소: 더휴먼컴퓨터아트아카데미 배운 점: 현재 로그인 되어 있는 유저의 이메일 정보를 토대로 DB로부터 게시글과 댓글 데이터를 가져와서 출력 부족한 점: 2023. 9. 19.
[TIL] 23.09.15 Today I Learned / fixed menu 제작 요약: fixed menu 제작 일시: 23.09.15 장소: 더휴먼컴퓨터아트아카데미 배운 점: react-icon 사용 state의 상태에 따라 메뉴 보이기 설정 export default function Mypage() { const [show, setShow] = useState(false); let session = useSession(); return ( {show ? ( {session.data ? ( my page write { signOut(); }} > logout ) : ( { signIn(); }} > login )} ) : ( )} { setShow(!show); }} > {" "} ); } 부족한 점: 2023. 9. 19.
[TIL] 23.09.14 Today I Learned / 커뮤니티 삭제 기능 요약: 커뮤니티 삭제 기능 일시: 23.09.14 장소: 더휴먼컴퓨터아트아카데미 배운 점: 삭제 기능 import { connectDB } from "@/util/database"; import { ObjectId } from "mongodb"; export default async function handler(req, res) { const body = req.body // DELETE 요청 시 실행 if (req.method === "DELETE") { try { // 로그인한 유저한 동일한 email의 정보를 가져오기 const db = (await connectDB).db("forum"); // connectDB()를 호출하여 DB 연결을 얻습니다. const result = await db ... 2023. 9. 15.