728x90
반응형
1. 프로그램 기본 세팅
[cmd]
1. npm init -y
2. tsc --init --rootDir ./src --outDir ./dist --esModuleInterop --module commonjs --strict true --allowJS true --checkJS true
[package.json]
3. scripts 항목 수정
"scripts": {
"start": "tsc && node ./dist/index.js",
"build": "tsc --build",
"clean": "tsc --build --clean"
},
4. src 폴더 생성
2. 프로그램
src > [index.ts]
//학생 인터페이스 코드
interface Student {
name: string;
age: number;
scores: {
korean: number;
math: number;
society: number;
science: number;
english: number;
};
}
//학점 부여
function assignGrade(average: number): string {
if (average >= 90) {
return 'A';
} else if (average >= 80) {
return 'B';
} else if (average >= 70) {
return 'C';
} else if (average >= 60) {
return 'D';
} else {
return 'F';
}
}
//평균계산
function calculateAverage(student: Student): number {
const sum =
student.scores.korean +
student.scores.math +
student.scores.society +
student.scores.science +
student.scores.english;
const average = sum / Object.keys(student.scores).length;
return average;
}
//학생 생성
function createStudent(
name: string,
age: number,
korean: number,
math: number,
society: number,
science: number,
english: number
): Student {
return {
name,
age,
scores: {
korean,
math,
society,
science,
english,
},
};
}
//성적 출력
function printResult(student: Student): void {
const average = calculateAverage(student); //평균구하기
const grade = assignGrade(average); //계산된 평균으로 학점 추출
console.log(`${student.name} (${student.age}세) - 평균: ${average.toFixed(2)}, 학점: ${grade}`);
}
//메인 함수
function main(): void {
const spartan = createStudent('Spartan', 30, 95, 89, 76, 90, 97);
printResult(spartan);
}
main();
1) 타입스크립트로 빌드하기
npm run build
2) 코드 실행
npm run start
끝.
반응형
'TypeScript' 카테고리의 다른 글
TypeScript : enum과 object literal 비교 & 유틸리티 타입 (0) | 2023.12.13 |
---|---|
TypeScript : 타입 종류 & any, unknown, union (0) | 2023.12.12 |
TypeScript : .d.ts 파일 (0) | 2023.12.12 |
TypeScript : 컴파일러 | tsc | tsconfig json 옵션 (0) | 2023.12.12 |
TypeScript : 개발환경 구축 ( Windows기반 ) (0) | 2023.12.12 |