JavaScriptタイプ

JSが型指定されていないことを時々読むかもしれませんが、それは正しくありません。確かに、あらゆる種類の異なる型を変数に割り当てることができますが、JavaScriptには型があります。特に、プリミティブ型とオブジェクト型を提供します。

プリミティブ型

プリミティブ型は

そして2つの特別なタイプ:

  • ヌル
  • 未定義

次のセクションで詳しく見ていきましょう。

数字

内部的には、JavaScript数字のタイプは1つだけです。すべての数字は浮動小数点数です。

数値リテラルは、ソースコードで表される数値であり、記述方法に応じてamdであり、整数リテラルまたは浮動小数点リテラルにすることができます。

整数:

10
5354576767321
0xCC //hex

フロート:

3.14
.1234
5.2e4 //5.2 * 10^4

文字列

文字列型は文字のシーケンスです。ソースコードでは、引用符または二重引用符で囲まれた文字列リテラルとして定義されています。

'A string'
"Another string"

文字列は、円記号を使用して複数の行にまたがることができます

"A \
string"

文字列には、新しい行を作成するための\ nのように、文字列の出力時に解釈できるエスケープシーケンスを含めることができます。バックスラッシュは、たとえば引用符で囲まれた文字列に引用符を入力して、文字が閉じ引用符として解釈されないようにする必要がある場合にも役立ちます。

'I\'m a developer'

+演算子を使用して文字列を結合できます。

"A " + "string"

テンプレートリテラル

ES2015で導入されたテンプレートリテラルは、文字列を定義するためのより強力な方法を可能にする文字列リテラルです。

const a_string = `something`

JS式の結果を埋め込んで、文字列置換を実行できます。

`a string with ${something}`
`a string with ${something+somethingElse}`
`a string with ${obj.something()}`

複数行の文字列を簡単に作成できます。

`a string
with
${something}`

ブール値

JavaScriptは、ブール値用にtrueとfalseの2つの予約語を定義しています。多くの比較操作== === < >(など)どちらか一方を返します。

ifwhileステートメントおよびその他の制御構造は、ブール値を使用してプログラムのフローを決定します。

彼らは真または偽を受け入れるだけでなく、真実そして偽物値。

偽の値、値falseと解釈されます

0
-0
NaN
undefined
null
'' //empty string

残りはすべて真実の価値

ヌル

null値がないことを示す特別な値です。

これは他の言語でも一般的な概念であり、次のように知られています。nilまたはNoneたとえばPythonで。

未定義

undefined変数が初期化されておらず、値が存在しないことを示します。

これは通常、関数なしで返されます。return値。関数がパラメーターを受け入れるが、それが呼び出し元によって設定されていない場合、それは未定義です。

値がであるかどうかを検出するにはundefined、構成を使用します。

typeof variable === 'undefined'

オブジェクトタイプ

プリミティブ型ではないものはすべてオブジェクトタイプ。

オブジェクトタイプにはプロパティがあり、それらのプロパティに作用できるメソッドもあります。

変数の型を見つける方法

すべての変数にはタイプが割り当てられています。使用typeof型の文字列表現を取得する演算子:

typeof 1 === 'number'
typeof '1' === 'string'
typeof {name: 'Flavio'} === 'object'
typeof [1, 2, 3] === 'object'
typeof true === 'boolean'
typeof undefined === 'undefined'
typeof (() => {}) === 'function'

なぜtypeof「関数」を返しましたか? JavaScriptにはありませんfunctionタイプ。それは本当です、そしてそれはの癖ですtypeofこれは便利にその値を返します。

私の無料ダウンロードJavaScriptビギナーズハンドブック


その他のjsチュートリアル: