目次
1. 変数宣言
TypeScript (Microsoft が開発したオープンソース プログラミング言語) は JavaScript のスーパーセットであるため、JavaScript で変数を宣言するメソッド (var、let、const) をサポートしています。
TypeScript と JavaScript での変数宣言の違いは、JavaScript で変数を宣言する場合、変数には決まった型がないことです。つまり、すべてのデータ型を同じ変数名に割り当てることができます。 TypeScript の変数には明確な型があり、変数を宣言するときに同時にそのデータ型を指定します。宣言は次のようになります。
let a:boolean=true;
let b:number=111111111;
let c:string="这是字符串";
2. 基本的なデータ型
JavaScriptデータベース型: 数値 ブール文字列配列 未定義 null
TypeScript の新しいデータ型: tuple enum any void none
1.boolean(ブール値)
ブール値 布尔值: false/true;
ブール変数を宣言する方法:
/* boolean布尔值 */
let a:boolean=true;
let b:boolean=false;
console.log(a,b);//true false
2.数字(数字)
数値:浮動小数点数 --------2.8.10.16 の 16 進数をサポートし、10 進数にコンパイルされます
数値変数を宣言する方法:
/* 数字 */
let num1:number=10;
let num2:number=0xf00d;//16进制
let num3:number=0b1010;//2进制
let num4:number=0o744;//8进制
let num5:number=NaN;
let num6:number=Infinity;
console.log(num1,num2,num3,num4,num5,num6);
// 10 61453 10 484 NaN Infinity
3.文字列(文字列)
string 文字列:二重引用符"" 一重引用符'' バッククォーテーション マーク `` で囲まれたテキスト データ
文字列変数を宣言する方法:
/* 字符串 */
let str1:string="字符串1";
let str2:string="字符串2";
let name1:string="大聪明";
let age:number=21;
let introduce:string=`我的名字是${name1},我的年龄是${age}`
console.log(str1,str2);//字符串1 字符串2
console.log(introduce);//我的名字是大聪明,我的年龄是21
4.配列(配列)
配列を宣言するには 2 つの方法があります:
1. 要素タイプの後に []
を追加して、このタイプの要素で構成される配列を示すことができます
2.配列<要素タイプ>
配列変数を宣言する方法:
/* 数组 */
let arr1:number[]=[1,2,3];
let arr2:string[]=["a","b","c"];
let arr3:Array<number>=[1,2,3]
let arr4:Array<string>=["a","b","c"]
let arr5:Array<number|string>=["a",1]//表示数组中的数据既可以是数字也可以是字符串类型
console.log(arr1);//[ 1, 2, 3 ]
console.log(arr2);//[ 'a', 'b', 'c' ]
console.log(arr3);//[ 1, 2, 3 ]
console.log(arr4);//[ 'a', 'b', 'c' ]
console.log(arr5);//[ 'a', 1 ]
5.タプル(タプル)
タプル: は既知の数と型の要素を持つ配列を表します。各要素の型は同じである必要はありません
/* 元组 */
let a:[string,number]=["string1",1111];
/*
类似解构赋值实现
a[0]:string="atring1"
a[1]:number=1111
*/
console.log(a[0]);//string1
console.log(a[1]);//1111
6.enum (列挙)
列挙型 - C# や他の言語と同様に、列挙型を使用して値のセットにわかりやすい名前を付けることができます。
/* 枚举 */
enum Color {Red, Green, Blue}
//等同于enum Color {Red=0, Green=1, Blue=2}
let c: Color = Color.Green;
console.log(c);//1
デフォルトでは、要素には 0
から始まる番号が付けられます。
確かに!メンバー値を手動で指定することもできます
/* 枚举 */
enum Color {Red=1, Green, Blue}
// 等同于:enum Color {Red=1, Green=2, Blue=3} 逐个递增
let c: Color = Color.Green;
console.log(c);//2
/* 枚举 */
enum Color {Red=1, Green=4, Blue=5}
// 等同于:enum Color {Red=1, Green=4, Blue=5}
let c: Color = Color.Green;
console.log(c);//4
列挙型によって提供される利便性の 1 つは、列挙値からその名前を取得できることです。
/* 枚举 */
enum Color {Red=1, Green=4, Blue=5}
// 等同于:enum Color {Red=1, Green=4, Blue=5}
let c: Color = Color.Green;
console.log(c);//4
let colorName: string = Color[4];//4表示枚举的值
console.log(colorName);//显示'Green'因为上面代码里它的值是4
7.任意
プログラミング段階では型が明確でない変数の型を指定したい場合があります。これらの値は、ユーザー入力やサードパーティのコード ライブラリなどの動的コンテンツから取得される場合があります。この場合、型チェッカーにこれらの値をチェックさせず、コンパイル時のチェックだけを通過させます。次に、any
type を使用してこれらの変数をマークできます。
/* any */
let notSure1: any = 4;
let notSure2: any = "a";
let notSure3: any = true;
let notSure4: any = [1];
console.log(notSure1,notSure2,notSure3,notSure4);//4 a true [ 1 ]
注: 変数を任意の値として宣言した後、その変数に対する操作は任意の値を返します。
8.ボイド
ある意味、 void
型は any
型の逆のようなもので、型がまったく存在しないことを意味します。関数が値を返さない場合、通常、その戻り値の型は void
: であることがわかります。
/* void */
function fn(): void {
console.log("1111111111111111");
}
注意: void 型の変数を宣言することは役に立ちません。void に unknown を代入することはできますが、void に null を代入することはできません。
9.NULL と未定義
undefined
と null
には、それぞれ undefined
と null
と呼ばれる独自のタイプがあります。 void
と同様に、その型はあまり役に立ちません
10.決してしない
never
型は、決して存在しない値の型を表します。たとえば、 never
タイプは、 常に例外をスローするタイプです。 または 例外はスローされません。 all 値を返さない関数式またはアロー関数式の戻り値の型
never
タイプは任意のタイプのサブタイプであり、任意のタイプに割り当てることができます。ただし、 タイプは ではありませんnever
のサブタイプは、( 自体に加えて) タイプ never
に割り当てられる場合があります。 であっても に割り当てることはできません。 never
any
never
注: Never を返す関数には、到達不能なエンドポイントがあってはなりません
function fn(): never {
while (true) {
}
}
function error(message: string): never {
throw new Error(message);
}
11.オブジェクト
object
は、非プリミティブ型を表します。つまり、number
、string
、boolean
、 を除きます。 symbol
、null
、または undefined
。 object と Object の違いは、 Object はクラス (Object はすべてのクラスの基本クラス (親クラス) です) であり、 object は参照型であることです。
3. 型のエイリアスと共用体型
複数のタイプの結合。それらの間の関係は または です。
type manyType = number | boolean | string;
let a: manyType
a = 1;
console.log(a);//1
a = true;
console.log(a);//true
a = 'a';
console.log(a);//a
4. 型推論
型が宣言されていない変数は、一度代入するとその変数の型が確定し、再度代入する際に型を変更することはできません。