typeScript--基礎データタイプ
3532 ワード
目次
ベースのタイプ
javascript基礎タイプ
typescript拡張タイプ
詳細タイプ
クロスタイプ
結合タイプ
タイプ保護と区分のタイプ
共同を識別することができる
ベースのタイプ
javascript基礎タイプ
ベースのタイプ
タイプ名
例
ブール
bollan
let gender:bootlean=false
数字
number
let age:number=8
文字列
ストリングス
let first Name:string='呉'let lastName='晨'fullName:string=`$first Name${lastName}
行列
T[]またはAray
let season:string[]=[Spring],'Summer']
null
null
let aNull=null
undefined
undefined
let a Unidefiend=undefined
オブジェクト
object
const mary={name:'Mery',age:18} //typeof mary=='object'
smbol
smbol
コンサート aSymbol:smbol=Symbol()
注意:
1.数字の種類はすべて浮動小数点型で、整数と浮動小数点を区別しません.
2.文字列には3つの表現方法があります.「ダブルクォーテーション」、「シングルクォーテーションマーク」、「アンチクォーテーションマーク」`.
typescript拡張タイプ
ベースのタイプ
タイプ名
例
元のグループ
tuple
let aTuple:[string,number]=[cc],age:24]
列挙
エンム
enum Color={Red,Green,Blue} const green=Color[1]
任意の値
any
let not Sure:any=4; not Sure=「maybe a string instead」 not Sure=false;
空の値
void
function f(name:string):void{consolie.logs(name)}
ネバー
never
function error:never{throw new Error}
注意:
1.元のグループは実際には配列であり、多値の割り当てができ、異なるタイプの元のグループは互いに異なる値を割り当てます.
2.列挙の種類はデフォルトでは0から始まる数値リストであり、値を指定することもできます.列挙の種類名は、行列として文字列タイプの列挙値を取得できます.(推奨されていません).
3.anyは、プログラム段階ではまだ不明なタイプを表しています.これは、ユーザーからの入力など、ダイナミックなコンテンツから来るかもしれません.
4.voidは、関数の戻り値がないことを示すために一般的に使われています.
5.neverは存在しない値を使うタイプで、例えば異常、デッドサイクルなどを打ち出す
詳細タイプ
クロスタイプ
1.クロスタイプは複数のタイプを一つのタイプに統合し、必要なすべてのタイプの特性を含む.
結合タイプは、一つの値がいくつかのタイプの一つであり得ることを表しています. は、それぞれのタイプを縦線で分割し、その値がその中のいずれかのタイプであることを表す である.値が統合タイプの場合、このタイプのパブリックメンバ にしかアクセスできません.
1.使用タイプ断言のタイプ保護
2.typeofを使用するタイプ保護
3.instance ofを使用するタイプ保護
4.カスタムタイプの保護を使う
シングルタイプ、ユニオンタイプ、タイプ保護とタイプ別名で作成します. 共同の高級モデルを識別できます.これも作ります. ラベル結合または 代数データの種類.コンビナートは関数式プログラミングでとても役に立ちます.いくつかの言語は自動的にあなたを識別します.Type Scriptは既存のJavaScriptモードに基づいています.3つの要素があります.は普通の一例タイプの属性を持っています. 識別可能な特徴. タイプの別名はこれらのタイプの連合を含んでいます. 連合します この属性のタイプ保護.
ベースのタイプ
javascript基礎タイプ
typescript拡張タイプ
詳細タイプ
クロスタイプ
結合タイプ
タイプ保護と区分のタイプ
共同を識別することができる
ベースのタイプ
javascript基礎タイプ
ベースのタイプ
タイプ名
例
ブール
bollan
let gender:bootlean=false
数字
number
let age:number=8
文字列
ストリングス
let first Name:string='呉'let lastName='晨'fullName:string=`$first Name${lastName}
行列
T[]またはAray
let season:string[]=[Spring],'Summer']
null
null
let aNull=null
undefined
undefined
let a Unidefiend=undefined
オブジェクト
object
const mary={name:'Mery',age:18} //typeof mary=='object'
smbol
smbol
コンサート aSymbol:smbol=Symbol()
注意:
1.数字の種類はすべて浮動小数点型で、整数と浮動小数点を区別しません.
2.文字列には3つの表現方法があります.「ダブルクォーテーション」、「シングルクォーテーションマーク」、「アンチクォーテーションマーク」`.
typescript拡張タイプ
ベースのタイプ
タイプ名
例
元のグループ
tuple
let aTuple:[string,number]=[cc],age:24]
列挙
エンム
enum Color={Red,Green,Blue} const green=Color[1]
任意の値
any
let not Sure:any=4; not Sure=「maybe a string instead」 not Sure=false;
空の値
void
function f(name:string):void{consolie.logs(name)}
ネバー
never
function error:never{throw new Error}
注意:
1.元のグループは実際には配列であり、多値の割り当てができ、異なるタイプの元のグループは互いに異なる値を割り当てます.
2.列挙の種類はデフォルトでは0から始まる数値リストであり、値を指定することもできます.列挙の種類名は、行列として文字列タイプの列挙値を取得できます.(推奨されていません).
3.anyは、プログラム段階ではまだ不明なタイプを表しています.これは、ユーザーからの入力など、ダイナミックなコンテンツから来るかもしれません.
4.voidは、関数の戻り値がないことを示すために一般的に使われています.
5.neverは存在しない値を使うタイプで、例えば異常、デッドサイクルなどを打ち出す
詳細タイプ
クロスタイプ
1.クロスタイプは複数のタイプを一つのタイプに統合し、必要なすべてのタイプの特性を含む.
結合タイプ
interface Bird{
flay();
layEggs();
}
interface Fish{
swim();
layEggs();
}
function getSmallPet():Fish | Bird{
//...
}
let pet=getSmallPet();
pet.layEggs(); //ok
pet.flay();//
// ,
//
タイプ保護と区分のタイプ1.使用タイプ断言のタイプ保護
2.typeofを使用するタイプ保護
3.instance ofを使用するタイプ保護
4.カスタムタイプの保護を使う
interface Bird{
fly();
layEggs();
}
interface Fish{
swim();
layEggs();
}
//
function move(pet:Bird | Fish){
(pet).swim():(pet).swim():(pet).fly();
}
// typeof
function process(data:string | number):string{
if(typeof data==='string'){
//...
}else{
//...
}
}
// instanceof
function process(data:string | number):string{
if(data instanceof String){
//...
}else{
//...
}
}
//
function isFish(pet: Fish | Bird): pet is Fish{
return (pet).swim !==undefiend;
}
共同を識別することができるシングルタイプ、ユニオンタイプ、タイプ保護とタイプ別名で作成します. 共同の高級モデルを識別できます.これも作ります. ラベル結合または 代数データの種類.コンビナートは関数式プログラミングでとても役に立ちます.いくつかの言語は自動的にあなたを識別します.Type Scriptは既存のJavaScriptモードに基づいています.3つの要素があります.
interface Square{
kind:'square';
size:number;
}
interface Rectangle{
kind:'rectangle';
width:number;
height:number;
}
type Shape=Square | Rectangle;
function area(s:Shape){
switch(s.kind){
case:'Square': return s.size * s.size;
case:'Rectangle': return s.width * s.height;
}
}
参考文献: typescript公式文書