몇 번 시도하다가 드디어 완강!
블록체인을 실제로 만든다고 생각했는데, 그런 건 아니었고,
타입스크립트에 좀 더 중점을 둔 강의였다.
내용은 다른 강의와 비슷한데.
깊게 설명해줘서 유익했다.
| 키워드 | 설명 | 접근 범위 | 특징 |
|---|---|---|---|
| public | 클래스, 메소드, 변수 등을 외부에서 접근 가능하게 만듦 | 클래스 외부와 내부, 다른 클래스에서 모두 접근 가능 | 모든 곳에서 접근 가능 |
| private | 클래스 내부에서만 접근할 수 있도록 제한 | 클래스 내부에서만 접근 가능 | 외부에서는 접근 불가, 클래스 내부에서만 사용 가능 |
| protected | 클래스 내부와 그 클래스를 상속한 자식 클래스에서만 접근 가능 | 클래스 내부 및 자식 클래스에서만 접근 가능 | 자식 클래스에서 접근 가능, 외부에서는 불가 |
| static | 인스턴스 없이 클래스 자체에서 접근할 수 있도록 만듦 | 클래스 이름을 통해 접근 가능 | 클래스 레벨에서 접근 가능, 객체 인스턴스 필요 없음 |
public read-only food: strong = 'kimchi';
// type 으로 변수 타입 지정
type food = string
type StringOrNumber = string | number; // 유니언 타입
// type 으로 객체 타입 지정
type food = {
snack : string,
meal : string
}
// 확장
type food = snack & {
meal: string
}
interface food = {
snack : string,
meal : string
}
interface food = {
snack : string,
meal : string
}
// 확장
interface worldFood extends food {
koreafood: string
}
.node_modules/@types 에 관련된 타입이 지정되어있다.@ts-check 주석은 type 이 맞지 않을 경우 에러를 표시함 // @ts-check
/**
* show error
* @param errorMessage
* @returns
*/
{
"include": ["src"],
"compilerOptions": {
"outDir": "build",
"target": "ES6", // target 버전으로 컴파일됨
"lib": ["ES6"], // es6 에 대한 정보를 가지고 있음. 메서드 자동 완성 등을 지원함.
"strict": true, // javascript 사용 어려움. d.ts 파일 사용 등 타입 정의 필요
"esModuleInterop": true,
"module": "CommonJS" // node.js 에서 사용하는 모듈 시스템 사용 가능
}
}
crypto.createHash("sha256").update( {해시로 변경하고 싶은 문자} ).digest("hex");
crypto.createHash("sha256") : SHA-256 해시 객체를 생성..update( {해시로 변경하고 싶은 문자} ) : 데이터를 해시 객체에 추가합니다..digest("hex") : 최종 해시 값을 계산하고, 16진수 문자열 형식으로 반환.