JavaScriptグローバルオブジェクト

JavaScriptのグローバルオブジェクトの詳細

JavaScriptはグローバルオブジェクトこれには、名前空間なしでグローバルにアクセスされる一連のプロパティ、関数、およびオブジェクトがあります。

プロパティは次のとおりです。

  • Infinity
  • NaN
  • undefined

機能は次のとおりです。

  • decodeURI()
  • decodeURIComponent()
  • encodeURI()
  • encodeURIComponent()
  • eval()
  • isFinite()
  • isNaN()
  • parseFloat()
  • parseInt()

これらはオブジェクトです:

およびエラー:

  • Error
  • EvalError
  • RangeError
  • ReferenceError
  • SyntaxError
  • TypeError
  • URIError

これに関するエラーについて説明しますJavaScriptエラーリファレンス役職。

ここで、グローバルプロパティと関数について説明しましょう。

Infinity

InfinityJavaScriptでは、を表す値ですインフィニティ

正の無限大。負の無限大を取得するには、オペレーター:-Infinity

それらは同等ですNumber.POSITIVE_INFINITYそしてNumber.NEGATIVE_INFINITY

に任意の数を追加するInfinity、または乗算Infinityどんな数でも、それでもInfinity

NaN

グローバルNaNvalueはの頭字語ですNot a Number。これは、ゼロ除算などの操作、無効なparseInt()操作、またはその他の操作によって返されます。

parseInt()    //NaN
parseInt('a') //NaN
0/0           //NaN

考慮すべき特別なことは、NaN値が他の値と等しくなることはありませんNaN値。あなたは使用する必要がありますisNaN()値が次のように評価されるかどうかをチェックするグローバル関数NaN

NaN === NaN //false
0/0 === NaN //false
isNaN(0/0)  //true

undefined

グローバルundefinedプロパティはプリミティブ値を保持しますundefined

戻り値を指定しない関数を実行すると、undefined

const test = () => {}
test() //undefined

とは異なりNaN、比較することができますundefinedの値undefined、そして真になる:

undefined === undefined

を使用するのが一般的ですtypeof変数が未定義かどうかを判別する演算子:

if (typeof dog === 'undefined') {

}

decodeURI()

の反対の操作を実行しますencodeURI()

decodeURIComponent()

の反対の操作を実行しますencodeURIComponent()

encodeURI()

この関数は、完全なURLをエンコードするために使用されます。すべての文字と数字、およびそれらの特殊文字を含む、URI構造で特別な意味を持つものを除いて、すべての文字をHTMLエンティティにエンコードします。

[email protected]#{{content}}amp;*()=:/,;?+-_.

例:

encodeURI("http://flaviocopes.com/ hey!/")
//"http://flaviocopes.com/%20hey!/"

encodeURIComponent()

に似ているencodeURI()encodeURIComponent()別の仕事をすることを意味します。

URI全体をエンコードするために使用される代わりに、URIの一部をエンコードします。

すべての文字と数字、およびそれらの特殊文字を含む、URI構造で特別な意味を持つものを除いて、すべての文字をHTMLエンティティにエンコードします。

-_.!~*'()

例:

encodeURIComponent("http://www.example.org/a file with spaces.html")
// "http%3A%2F%2Fwww.example.org%2Fa%20file%20with%20spaces.html"

eval()

これは、JavaScriptコードを含む文字列を受け取り、それを評価/実行する特別な関数です。

この機能はめったに使用されないため、危険な場合があります。

私は読むことをお勧めしますこの記事件名に。

isFinite()

パラメータとして渡される値が有限の場合、trueを返します。

isFinite(1)                        //true
isFinite(Number.POSITIVE_INFINITY) //false
isFinite(Infinity)                 //false

isNaN()

パラメータとして渡された値がに評価される場合はtrueを返しますNaN

isNaN(NaN)        //true
isNaN(Number.NaN) //true
isNaN('x')        //true
isNaN(2)          //false
isNaN(undefined)  //true

この関数は非常に便利です。NaN値が他の値と等しくなることはありませんNaN値。あなたは使用する必要がありますisNaN()値が次のように評価されるかどうかをチェックするグローバル関数NaN

0/0 === NaN //false
isNaN(0/0)  //true

parseFloat()

お気に入りparseInt()parseFloat()文字列値を数値に変換するために使用されますが、小数部分は保持されます。

parseFloat('10,000', 10) //10     ❌
parseFloat('10.00', 10)  //10     ✅ (considered decimals, cut)
parseFloat('10.000', 10) //10     ✅ (considered decimals, cut)
parseFloat('10.20', 10)  //10.2   ✅ (considered decimals)
parseFloat('10.81', 10)  //10.81  ✅ (considered decimals)
parseFloat('10000', 10)  //10000  ✅

parseInt()

この関数は、文字列値を数値に変換するために使用されます。

整数のもう1つの良い解決策は、parseInt()関数:

const count = parseInt('1234', 10) //1234

2番目のパラメーターである基数(10進数の場合は常に10)を忘れないでください。そうしないと、変換によって基数が推測され、予期しない結果が生じる可能性があります。

parseInt()数字だけでなく、文字列から数字を取得しようとします。

parseInt('10 lions', 10) //10

ただし、文字列が数字で始まらない場合は、次のようになります。NaN(数字ではありません):

parseInt("I'm 10", 10) //NaN

また、Numberと同様に、数字の間に区切り文字があると信頼性が低くなります。

parseInt('10,000', 10) //10     ❌
parseInt('10.00', 10)  //10     ✅ (considered decimals, cut)
parseInt('10.000', 10) //10     ✅ (considered decimals, cut)
parseInt('10.20', 10)  //10     ✅ (considered decimals, cut)
parseInt('10.81', 10)  //10     ✅ (considered decimals, cut)
parseInt('10000', 10)  //10000  ✅

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


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