해당 글은 스파르타 코딩클럽의 TypeScript 문법 종합반 강의를 바탕으로 작성되었습니다.
let a = '사람' ; a = 4
string → numberconst랑 다른점? readonly 는 class 속성에서 지정할때 사용가능 const 는 class 속성에 없어
class Person {
readonly name: string;
readonly age: number;
constructor(name: string, age: number) {
this.name = name;
this.age = age;
}
}
const person = new Person('Spartan', 30);
console.log(person.name); // 출력: 'Spartan'
console.log(person.age); // 출력: 30
person.name = 'Jane'; // 에러: 'name'은 readonly 속성이므로 다시 할당할 수 없어요!
person.age = 25; // 에러: 'age'은 readonly 속성이므로 다시 할당할 수 없어요!
as string
type StringOrNumber = string | number;
Person interface 안에있는 속성값 중 일부만 가져올 때 사용
interface Person {
name: string;
age: number;
}
const updatePerson = (person: Person, fields: Partial<Person>): Person => {
return { ...person, ...fields };
};
const person: Person = { name: "Spartan", age: 30 };
const changedPerson = updatePerson(person, { age: 31 });
필수로 있어야함.
interface Person {
name: string;
age: number;
address?: string;
}
type RequiredPerson = Required<Person>; // address 또한 필수로 있어야함.
interface Person {
name: string;
age: number;
address: string;
}
type SubsetPerson = Pick<Person, "name" | "age">;
const person: SubsetPerson = { name: "Spartan", age: 30 };
interface Person {
name: string;
age: number;
address: string;
}
type SubsetPerson = Omit<Person, "address">;
const person: SubsetPerson = { name: "Alice", age: 30 };
class Person {
name: string;
age: number;
constructor(name: string, age: number) { //생성자, 온리원,초기화
this.name = name;
this.age = age;
}
sayHello() {
console.log(`안녕하세요! 제 이름은 ${this.name}이고, 나이는 ${this.age}살입니다.`);
}
}
const person = new Person('Spartan', 30);
person.sayHello();
public
private
protected