ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript の 3 種類のキャストとは何ですか?
3 つの強制型変換は次のとおりです: 1. 数値型への変換、Number()、parseInt()、parseFloat(); 2. 文字列型への変換、toString()、String(); 3. 変換ブール型、Boolean() に変換します。
このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。
JavaScript は弱い型指定言語であり、その値のデータ型は変更される可能性があります。
一部の言語では、各変数のデータ型を指定する必要があり、このような言語は、java C などの強く型付けされた言語と呼ばれます
1 つは明示的な変換であり、プログラマーがコード変換を手動で記述する必要があり、もう 1 つは暗黙的な変換であり、JavaScript インタプリタによって変換されます。
JavaScript は、明示的な変換用に次の関数を提供します:
1. 数値型に変換: Number(mix)、parseInt(string,radix)、parseFloat(string)
2. 文字列型に変換: toString(radix)、String(mix)
3. ブール型に変換: Boolean(mix)
Number(mix) 関数は、任意のタイプのパラメーター ミックスを数値タイプに変換できます。ルールは次のとおりです:
1. ブール値の場合、true と false はそれぞれ 1 と 0 に変換されます
2. 数値の場合は、それ自体を返します。
3. null の場合は 0
4 を返し、未定義の場合は NaN を返します。
5. 文字列の場合は、次の規則に従います:
a. 文字列に数字のみが含まれている場合は、10 進数に変換します (先頭の 0 を無視します)
b. 文字列に有効な浮動小数点形式が含まれている場合は、それを浮動小数点値に変換します (先頭の 0 を無視します)
c. 空の文字列の場合は、0
に変換します。 d. 文字列に上記以外の形式が含まれている場合は NaN
6 に変換し、オブジェクトの場合はオブジェクトの valueOf() メソッドを呼び出し、戻り値を以前のルール。変換の結果が NaN の場合は、オブジェクトの toString() メソッドを呼び出し、返された文字列値を前のルールに従って再度変換します。
例
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>数据类型转换</title> </head> <body> <script> println(Number(false)); println(Number(true)); println(Number(123)); println(Number(null)); println(Number(undefined)); println(Number(person)); function println(a){ document.write(a+'<br>'); } var person={};//字面量创建对象 // 设置字面量对象属性 person.name='huangshiren'; person.age=58; person.appetite=3; person.eat=function(){ document.write('正在吃饭'); } </script> </body> </html>
パラメータの説明:
string 解析する値。引数が文字列でない場合は、(ToString 抽象操作を使用して) 文字列に変換されます。文字列の先頭にある空白文字は無視されます。
radix 上記の文字列の基数を表す 2 ~ 36 の整数 (数学システムの基礎)。たとえば、パラメータ「10」は、私たちが通常使用する 10 進数システムを使用することを意味します。このパラメーターを常に指定すると、このコードを読む際の混乱がなくなり、変換結果が予測可能になります。基数が指定されていない場合、実装が異なると生成される結果も異なります。通常はデフォルトで 10 になります。
parseInt(string, radix) 関数は、文字列を整数型の値に変換します。
1. 最初の空でない文字が見つかるまで、文字列の前のスペースを無視します
2. 最初の文字が数字記号または負数でない場合記号の場合、NaN
3 を返します。最初の文字が数字の場合は、文字列が解析されるか、数値以外の記号が検出されるまで解析を続けます。
4. 前の結果がステップが 0 で始まる場合は 8 進数として解析され、x で始まる場合は 16 進数として解析されます##5。 radix パラメータが指定されている場合、radix は解析のベースとして使用されます
Example
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>数据类型转换</title> </head> <body> <script> println(parseInt("12.34567",10)); println(parseInt("de",10)); println(parseInt("0123456789",10)); println(parseInt("0e0",16)); println(parseInt("0101010001",2)); function println(a){ document.write(a+'<br>'); } </script> </body> </html>
parseFloat(string) function
そのルールは基本的に parseInt と同じですが、いくつかの違いがあります: 文字列内の最初の小数点記号が有効であり、parseFloat は先頭の 0 をすべて無視します。文字列に解析可能な数値が含まれている場合integer として、浮動小数点値の代わりに整数値を返します。
例
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>数据类型转换</title> </head> <body> <script> println(parseFloat("3.14")); println(parseFloat("314e-2")); println(parseFloat("0.0314E+2")); println(parseFloat("3.14more non-digit characters")); function println(a){ document.write(a+'<br>'); } </script> </body> </html>
文字列型に変換
例
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>数据类型转换</title> </head> <body> <script> var count=10; println(count.toString()); var boolean=true; println(boolean.toString()); var today=new Date(); println(today.toString()); var shoppingCart=['鞋','连衣裙','皮带']; println(shoppingCart.toString()); var person={};//字面量创建对象 // 设置字面量对象属性 person.name='huangshiren'; person.age=58; person.appetite=3; person.eat=function(){ document.write('正在吃饭'); } println(person.toString()); function println(a){ document.write(a+'<br>'); } </script> </body> </html>
ブール型への変換
例
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>数据类型转换</title> </head> <body> <script> var count=10; println(Boolean(count)); println(Boolean(0)); println(Boolean(4<3)); println(Boolean(null)); println(Boolean("")); println(Boolean(undefined)); var shoppingCart=['鞋','连衣裙','皮带']; println(Boolean(shoppingCart)); var person={};//字面量创建对象 // 设置字面量对象属性 person.name='huangshiren'; person.age=58; person.appetite=3; person.eat=function(){ document.write('正在吃饭'); } println(Boolean(person)); function println(a){ document.write(a+'<br>'); } </script> </body> </html>
[推奨学習:
JavaScript 上級チュートリアル以上がJavaScript の 3 種類のキャストとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。