JavaScript で複数行のコードにまたがる文字列を分割するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/508269

  •  21-08-2019
  •  | 
  •  

質問

JavaScript には、コード行を分割して、新しい行であっても連続したものとして読み取れるようにする文字はありますか?

何かのようなもの....

1. alert ( "Please Select file   
2. \ to delete" );
役に立ちましたか?

解決

おきの文字列を二つの作品:

alert ( "Please Select file"
 + " to delete");

やが入っていることが多いので、文字列として登場してお使いいただけます バックスラッシュ として@Gumbo考:

alert ( "Please Select file\
 to delete");

このアプローチはバックスラッシュ 必ずしも好まし, あな普遍的にサポートされていた困難のデータを入れます。であ ないECMA5.1仕様.

場合、その他のコード(クォート)で、改行を無視も可能です。例えば:

if(SuperLongConditionWhyIsThisSoLong
  && SuperLongConditionOnAnotherLine
  && SuperLongConditionOnThirdLineSheesh)
{
    // launch_missiles();
}

他のヒント

行の最後にバックスラッシュを入れます。

alert("Please Select file\
 to delete");

編集これは注意しなければなりません ない 一部の ECMAScript 文字列 として 行終了文字 は一切許可されません:

ああラインターミネータ' 文字は、前にバックスラッシュがある場合でも、文字列リテラル内に使用できません。 \. 。行終了文字を文字列リテラルの文字列値の一部にする正しい方法は、次のようなエスケープ シーケンスを使用することです。 \n または \u000A.

したがって、文字列連結を使用することがより良い選択です。


更新 2015-01-05    ECMAScript5 の文字列リテラル 前述の構文を許可します。

行終了文字は、文字列リテラルの一部として使用する場合を除き、文字列リテラル内に使用できません。 行の継続 空の文字シーケンスを生成します。行終了文字を文字列リテラルの文字列値の一部にする正しい方法は、次のようなエスケープ シーケンスを使用することです。 \n または \u000A.

のECMAScript 6はテンプレート文字列を紹介しますP>
  

テンプレートの文字列が埋め込まれた表現を可能文字列リテラルです。   あなたが複数行の文字列と文字列の補間機能を使用することができます   それらます。

たとえば、

alert(`Please Select file   
to delete`);

警告が表示されます。

Please Select file   
to delete

二つに文字列を分割

alert ("Please select file " +
       "to delete");

注意することは興味深いです。しようとしました。

alert("Some \
    string \
    wrapped \
    across \
    mutliples lines.")

そして、これは働いていました。しかし、事故に!、最後のバックスラッシュ(他のすべてのバックスラッシュは、行の最後にあった)、次の空白文字がありました。そして、これはJavaScriptでエラーの原因となりました!このスペースを削除すると、ただし、エラーを修正します。

これは、コルドバを使ってAndroidのためのADTである。

あなただけ使用することができます。

1:  alert("Please select file" +
2:        " to delete");

これは動作するはずです。

までの長い文字列定数を論理のチャンクを割り当てしています。その join 空文字列となります。

var stringArray = [
  '1. This is first part....',
  '2. This is second part.....',
  '3. Finishing here.'
];

var bigLongString = stringArray.join('');
console.log(bigLongString);

出力:

  1. これは最初の部分....2.これは第二部.....3.仕上げます。

が、ヒットすることができ、かつお得にコードが読みやすさと保守性.

私は上記の提案の数を試みたが、chromeコードインスペクタで無効な文字の警告を受けました。以下は、(のみただしChromeでテストした!)私のために働いた。

alert('stuff on line 1\\nstuff on line 2);

...のように出てきます
stuff on line 1
stuff on line 2

二重のバックスラッシュを注意!! ...これは重要であると思われる!

コード内の任意の手動中断の必要はありません。 ちょうどあなたが壊したい場所を\ n個追加します。

alert ("Please Select file \n to delete");

これは

のような警告が表示されます
Please select file 
to delete.
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top