Type Script|デフォルトタイプ
20165 ワード
呑タイプスクリプトの基本タイプ
JS変数タイプが文字列の場合
let car:string = 'bmw';
// let으로 선언된 변수 수정
car = 'benz';
// string이 아닌 타입으로 재선언 시, 에러 발생
car = 3; // Type 'number' is not assignable to type 'string'.
📌 Numberタイプ→数値の場合
let num: number = 10;
📌 Booleanタイプ→キャリー値
let isLoggedIn: boolean = false;
📌 Arrayタイプ→シナリオ
let arr: number[] = [1,2,3];
// 제네릭 사용 가능
let arr: Array<number> = [1,2,3];
// 문자열
let week1:string[] = ["mon", "tue", "wen"];
let week2:Array<string> = ["mon", "tue", "wen"];
week1.push(3) // [에러 발생] 이유: 문자열 배열에 숫자 추가하려고 해서
📌 Tuple要素のタイプと数の固定配列(異なるタイプのインデックスを使用)
let b:[string, number];
/*
- 의미:
첫 번째 요소: string
두 번째 요소: number
*/
b=['z', 1]
b=[1,'z'] // 불가
// 타입에 맞는 메소드 사용 가능
b[0].toLowerCase(); // 정상 동작. toLowerCase(문자를 소문자로 바꿈)
b[1].toLowerCase(); // 에러 발생.
// 정의하지 않은 타입 및 인덱스로 접근 시 -> 오류
b[1].concat('!'); // Error, 'number' does not have 'concat'
b[5] = 'hello' // Error, Property '5' does not exist on type '[string, number]'.
📌 Enum特定値(定数)の集合
使用する場合
特定の値のみを強制的に入力する場合&これらの値に共通点がある場合
JSにないタイプ
プレミアム
0から1に自動的に追加して割り当てます
enum Os{
Window, // (enum member) Os.Window = 0
Ios, // (enum member) Os.Ios = 1
Android // (enum member) Os.Android = 2
}
文字列を入力することもできます
一方向マッピングのみを許可
理由:数字じゃないから
サンプルコード
enum Os{
Window = "win",
Ios = "ios",
Android = "and"
}
// 실제 컴파일 (단방향 맵핑된 모습)
var Os;
(function (Os) {
Os["Window"] = "win";
Os["Ios"] = "ios";
Os["Android"] = "and";
})(Os || (Os = {}));
// 이런 모습으로 컴파일된다는 뜻
const Os = {
Window: "win",
Ios: "ios",
Android: "and"
}
双方向マップenum Os{
Window = 3,
Ios = 10,
Android
}
// 컴파일된 결과
var Os;
(function (Os) {
Os[Os["Window"] = 3] = "Window";
Os[Os["Ios"] = 10] = "Ios";
Os[Os["Android"] = 11] = "Android";
})(Os || (Os = {}));
/*
- Os라는 객체가 만들어졌고
- Window는 3, Ios는 10, Android는 11이 들어와있음.
- Os 3은 Window, 10은 Ios, 11은 Android가 할당됨.
=> '양방향 맵핑'이 되어있다.
*/
// 확인(콘솔)
console.log(Os[10]) // "Ios"
console.log(Os['Ios']) // 10
◾内部値のみ入力可能enum Os{
Window = "win",
Ios = "ios",
Android = "and"
}
// 'myOs의 타입은 Os이다.'라고 선언
let myOs: Os;
// myOs에는 Os의 Window, Ios, Android만 입력 가능
myOs = Os.Window
console.log(myOs) // "win"
📌 Anyすべてのタイプを許可
let str:any = 'hi';
let num:any = 10;
let arr:any = ["a",2,true];
📌 Void変数:
undefined
と null
万指定関数:戻り値xの設定
let unuseful: void = undefined;
function notuse() : void {
console.log('sth');
}
📌 Neverエラーまたは終了しない関数タイプを常に返します.
// 항상 에러 반환
function showError():never{
throw new Error();
}
// 영원히 끝나지 않는 함수
function infLoop():never {
while(true){
// do something...
}
}
📌 null, undefinedlet a:null = null;
let b:undefined = undefined;
✍ TIPS🔸 利用可能な方法→分かりやすい
タイプは事前に知っていたので、typescriptグラウンドや使用するエディタでtsに関連する拡張子が設定されている場合、→
.
に撮影された場合(各タイプについて)利用可能なリストは少ない.🔸 類型推論
// string을 선언하지 않아도 할당된 값으로 타입 설정됨.
let car = 'bmw'; // let car: string
🔸 タイプタグ:
を使用してJavaScriptコードでタイプを定義します.板橋隊長-タイプスクリプトマニュアル
エンコーディングモードスクリプト
Reference
この問題について(Type Script|デフォルトタイプ), 我々は、より多くの情報をここで見つけました https://velog.io/@katej927/TypeScript-타입스크립트-기본-타입テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol