ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScriptで値を文字列に変換する方法

JavaScriptで値を文字列に変換する方法

青灯夜游
青灯夜游オリジナル
2021-05-18 14:41:352725ブラウズ

変換方法: 1. " " 演算子を使用して空の文字列と結合します。構文は "value''" です。 2. テンプレート文字列を使用します。構文は "${value}" です。 3 . "JSON.stringify" (value)" ステートメントを使用します。 4. "value.toString()" ステートメントを使用します。 5. "String(value)" ステートメントを使用します。

JavaScriptで値を文字列に変換する方法

このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。

JavaScript で値を文字列に変換する 5 つの方法

const value = 12345;
// Concat Empty String
value + '';
// Template Strings
`${value}`;
// JSON.stringify
JSON.stringify(value);
// toString()
value.toString();
// String()
String(value);
// RESULT
// '12345'

5 つの方法を比較

それでは、さまざまな値を使用して 5 つの方法をテストしてみましょう。テストする変数は次のとおりです。

const string = "hello";
const number = 123;
const boolean = true;
const array = [1, "2", 3];
const object = {one: 1 };
const symbolValue = Symbol('123');
const undefinedValue = undefined;
const nullValue = null;

「 " 演算子を使用して空の文字列と結合します。

string + ''; // 'hello'
number + ''; // '123'
boolean + ''; // 'true'
array + ''; // '1,2,3'
object + ''; // '[object Object]'
undefinedValue + ''; // 'undefined'
nullValue + ''; // 'null'
// ⚠️
symbolValue + ''; // ❌ TypeError

ここから、値が次のとおりであるかどうかを確認できます。シンボルの場合、このメソッドは TypeError をスローします。それ以外の場合は、すべてがうまく見えます。

テンプレート文字列

`${string}`; // 'hello'
`${number}`; // '123'
`${boolean}`; // 'true'
`${array}`; // '1,2,3'
`${object}`; // '[object Object]'
`${undefinedValue}`; // 'undefined'
`${nullValue}`; // 'null'
// ⚠️
`${symbolValue}`; // ❌ TypeError

テンプレート文字列を使用した結果は、基本的に空の文字列を結合した場合と同じになります。繰り返しますが、これは TypeError をスローするため、Symbol を処理する理想的な方法ではない可能性があります。

興味がある場合は、TypeError を参照してください。 TypeError: Symbol 値を文字列に変換できません

JSON.stringify()

JSON.stringify(string); // '"hello"'
JSON.stringify(number); // '123'
JSON.stringify(boolean); // 'true'
JSON.stringify(array); // '[1,"2",3]'
JSON.stringify(object); // '{"one":1}'
JSON.stringify(nullValue); // 'null'
JSON.stringify(symbolValue); // undefined
JSON.stringify(undefinedValue); // undefined

したがって、通常は、値を文字列に変換するために JSON.stringify を使用しません。そして、ここでは実際に強制は行われていません。つまり、利用可能なすべてのツールを知っていることになります。その後、ケースバイケースで使用するのではなく、どのツールを使用するかを決定できます。実際の文字列値に使用すると、引用符で囲まれた文字列に変更されます。

.toString()

string.toString(); // 'hello'
number.toString(); // '123'
boolean.toString(); // 'true'
array.toString(); // '1,2,3'
object.toString(); // '[object Object]'
symbolValue.toString(); // 'Symbol(123)'
// ⚠️
undefinedValue.toString(); // ❌ TypeError
nullValue.toString(); // ❌ TypeError
つまり、値を文字列に変換する場合、PK は実際には toString() と String() の間にあります。未定義と null に対してエラーがスローされることを除いて、すべてが正常に動作します。したがって、これには必ず注意してください。


String()

String(string); // 'hello'
String(number); // '123'
String(boolean); // 'true'
String(array); // '1,2,3'
String(object); // '[object Object]'
String(symbolValue); // 'Symbol(123)'
String(undefinedValue); // 'undefined'
String(nullValue); // 'null'
まあ、勝者が見つかったと思います

ご覧のとおり、String() は次の処理を行いますnull と未定義は非常にうまく機能します。それを望まない限り、エラーはスローされません。基本的には私のアドバイスを覚えておいてください。自分のアプリケーションについては自分が一番よく知っているので、自分の状況に最適なものを選択する必要があります。

結論: String()

すべてのさまざまなメソッドがさまざまなタイプの値を処理する方法を示した後。違いを理解して、次回コードに取り組むときにどのツールを使用すればよいかわかるようになれば幸いです。よくわからない場合は、String() が常に適切なデフォルトの選択です。

[推奨される学習:

JavaScript 上級チュートリアル

]

以上がJavaScriptで値を文字列に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。