Type Scriptベースタイプ
15455 ワード
Type Scriptベースタイプ
今回からType Scriptのタイプシステムに接触し始めます.これもType Scriptの最も核心的な部分です.
今回はType Scriptの中のいくつかの基本的なタイプを紹介します.一部の特殊なタイプは次に単節で説明します.変数宣言を行うには、その対応するタイプを明記する必要があります.これはJavaScriptの変数宣言とは異なります.Type Scriptコードを書く時、すべての変数にはタイプが必要です.この観点は深く心に焼き付けられます.
1.慕課の解釈
Type Scriptのタイプは以下の通りです.元のタイプ book number string void null undefined ビギナート smbol 元組tuple エニュメレート 任意any unknown never 配列Aray オブジェクトobject 2.ブールタイプ
一番簡単なデータタイプはtrue/falseの値です.
3.数字の種類
2進数、10進数、16進数のいずれも使用できます.
二重引用符または単引用符は文字列を表します.
5.voidタイプ
関数の戻り値がない場合、その戻り値の種類をvoidとして定義することができます.
一般項目は標準オープンです.
配列の種類には2つの表現方法があります.最初は元素の種類の後に接続します.
8.anyタイプ
ユーザーからの入力を受信する場合もありますが、その変数の種類は確認できません.この場合、我々はタイプ検測器でこれらの値を検査するのではなく、直接コンパイル段階の検査を通じてそれらを使用することができます.
9.objectタイプ
10.紛らわしい点 Type Scriptに記載されているタイプのものを使用します. 大文字で始まるBoolean、Number、StringはJavaScriptの構造関数を表しています.
1行目は、
第2行,
4-5行目、
この小節ではType Scriptの基本的なタイプを紹介します. Type Scriptに記載されているタイプのものを使用します. 濫用しないでください.
今回からType Scriptのタイプシステムに接触し始めます.これもType Scriptの最も核心的な部分です.
今回はType Scriptの中のいくつかの基本的なタイプを紹介します.一部の特殊なタイプは次に単節で説明します.変数宣言を行うには、その対応するタイプを明記する必要があります.これはJavaScriptの変数宣言とは異なります.Type Scriptコードを書く時、すべての変数にはタイプが必要です.この観点は深く心に焼き付けられます.
1.慕課の解釈
Type Scriptのタイプは以下の通りです.
一番簡単なデータタイプはtrue/falseの値です.
const registered: boolean = false
const done: boolean = Boolean(0)
変数宣言文法:コロン :
前は変数名で、後は変数タイプです.3.数字の種類
2進数、10進数、16進数のいずれも使用できます.
number
を表しますlet decLiteral: number = 6
let goldenSection: number = 0.618
let hexLiteral: number = 0xf00d
let binaryLiteral: number = 0b1010
let octalLiteral: number = 0o744
let notANumber: number = NaN
4.文字列の種類二重引用符または単引用符は文字列を表します.
let protagonist: string = "Sherlock Holmes"
let partner: string = 'Dr. John Hamish Watson'
テンプレート文字列を使う:let protagonist: string = 'Sherlock'
let sentence: string = ` ${protagonist} 、 。`
テンプレート文字列は、通常の文字列の二重引用符と単引用符の代わりに引用符を使用します.テンプレート文字列は特定の文法を含んでいます. ${expression}
のプレースホルダと、プレースホルダ内に変数名を書くことができます.テンプレート文字列は変数値の解析を行います.5.voidタイプ
関数の戻り値がない場合、その戻り値の種類をvoidとして定義することができます.
function doNothing(): void {
let a = 10
}
一つの声明を出す void
タイプの変数は何の役にも立たないです. undefined
和 null
:let nothing: void = undefined
6.nullタイプとundefinedタイプundefined
和 null
は、すべてのタイプのサブタイプです.一般項目は標準オープンです.
--strictNullChecks
この言葉はどういう意味ですか? tsconfig.json
にある strictNullChecks
オプションの設定は false
、以下のような操作は間違いないと思いますが、できるだけしないでください.let num: number = undefined
let list: number[] = undefined
let name: string = undefined
7.配列タイプ配列の種類には2つの表現方法があります.最初は元素の種類の後に接続します.
[]
は、このタイプの要素からなる1つの配列を表している.let list: number[] = [1, 2, 3]
let names: string[] = ['Sherlock', 'Watson', 'Mrs. Hudson']
もう一つの方法は、配列汎型(汎型の後続は個別に紹介される)を使用することであり、Array
:let list: Array<number> = [1, 2, 3]
let names: Array<string> = ['Sherlock', 'Watson', 'Mrs. Hudson']
各種要素のタイプを混ぜる:let list: any[] = ['Sherlock', 1887]
最初の配列タイプの表現方法を使用して、簡潔で直感的な書き方を推奨します.8.anyタイプ
ユーザーからの入力を受信する場合もありますが、その変数の種類は確認できません.この場合、我々はタイプ検測器でこれらの値を検査するのではなく、直接コンパイル段階の検査を通じてそれらを使用することができます.
any
:let input: any = 'nothing'
input = 0 // ok
input = true // ok
input = [] // ok
input = null // ok
input = Symbol('any') // ok
一つのデータがanyタイプの場合、その任意の属性にアクセスできます.この属性が存在しなくても、let anything: any = 10
anything.eat() // ok
anything.name // ok
anything[0] // ok
new anything() // ok
anything() // ok
上記の例からは、anyタイプはほぼ任意の操作が可能であり、このようにして、タイプが正確でありながら、異常なコードを実行することが容易であることが分かる.私たちはType Scriptを使っています.コードの丈夫さのために、なるべくanyの使用を減らしたいです.9.objectタイプ
object
元のタイプではないことを表します.let obj: object
//
enum TokenType {
ACCESS = 'accessToken',
REFRESH = 'refreshToken'
}
obj = TokenType
obj = [1, 2, 3]
obj = [1, 'string'] //
obj = { a: 1 }
列挙、配列、タプル、一般的なオブジェクトが表示されます. object
を選択します10.紛らわしい点
、例えばブックレン、number、stringなど.let a = new Number('10') // a === 10 false
let b = Number('10') // b === 10 true
a instanceof Number // true
b instanceof Number // false
コードの説明:1行目は、
new Number('10')
得られたのは構造関数であり,本質はオブジェクトである.第2行,
Number('10')
を選択します 10
一つの数字10を声明する方法です.本質は一つの数字です.4-5行目、
instanceof
演算子は、コンストラクタを検出するために使用されます. prototype
属性はインスタンスオブジェクトのプロトタイプチェーン上に表示されますか?a
オブジェクトです. __proto__
属性は、オブジェクトの構造関数の原型オブジェクトを指します. Number
です. true
b
は一つの数字です. false
__proto__
標準以外の属性でも使えます. Object.getPrototypeOf()
方法は、オブジェクトのプロトタイプにアクセスします.a.__proto__ === Object.getPrototypeOf(a) // true
11.まとめこの小節ではType Scriptの基本的なタイプを紹介します.
any
!