[javascript] JavaScript에서 두 줄 이상의 코드에서 문자열을 나누려면 어떻게해야합니까?

줄 바꿈에도 불구하고 연속적으로 읽을 수 있도록 코드 줄을 세분화하는 문자가 JavaScript에 있습니까?

뭔가 ….

1. 경고 ( "파일을 선택하십시오
2. 삭제하려면 ");



답변

예제에서 문자열을 두 부분으로 나눌 수 있습니다.

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

또는 문자열 인 경우 @Gumbo가 제안한대로 백 슬래시 를 사용할 수 있습니다 .

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

이 백 슬래시 접근 방식이 반드시 선호 되는 것은 아니며 보편적으로 지원되지 않을 수도 있습니다 (하드 디스크 데이터를 찾는 데 어려움이 있음). 그것은 것입니다 하지ECMA 5.1 사양 .

따옴표가 아닌 다른 코드로 작업 할 때는 줄 바꿈이 무시되고 완벽하게 허용됩니다. 예를 들면 다음과 같습니다.

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


답변

줄 끝에 백 슬래시를 넣으십시오.

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

편집     나는이 것을 참고로이 하지 의 일부 ECMAScript를 문자열라인 종료 문자가 전혀 허용되지 않습니다

LineTerminator ‘문자는 앞에 백 슬래시가 있어도 문자열 리터럴에 나타날 수 없습니다 \. 줄 종결 문자 캐릭터 문자의 문자열 값의 일부가 원인 올바른 방법 등의 제어 시퀀스를 사용하는 것 \n또는 \u000A.

따라서 문자열 연결을 사용하는 것이 좋습니다.


업데이트 2015-01-05     ECMAScript5의 문자열 리터럴 은 언급 된 구문을 허용합니다.

줄 종결 자 문자는 빈 문자 시퀀스를 생성하기 위해 LineContinuation의 일부를 제외하고 문자열 리터럴에 나타날 수 없습니다 . 줄 끝 문자가 문자열 리터럴의 문자열 값의 일부 원인이 될 수있는 올바른 방법과 같은 이스케이프 시퀀스를 사용하는 것입니다 \n\u000A.


답변

ECMAScript 6에는 템플릿 문자열이 도입되었습니다 .

템플릿 문자열은 포함 된 표현식을 허용하는 문자열 리터럴입니다. 여러 줄 문자열과 문자열 보간 기능을 함께 사용할 수 있습니다.

예를 들어

alert(`Please Select file
to delete`);

경고합니다

Please Select file
to delete


답변

끈을 두 조각으로 나눕니다. 

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


답변

흥미 롭습니다. 시도 :

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

그리고 이것은 효과가있었습니다. 그러나 실수로 최종 백 슬래시 다음에 공백 문자가있었습니다 (다른 모든 백 슬래시는 줄의 끝에있었습니다). 그리고 이것은 자바 스크립트에서 오류를 일으켰습니다! 이 공간을 제거하면 오류가 해결되었습니다.

이것은 Cordova를 사용하는 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. 여기서 마무리합니다.

이 방법으로 약간의 성능 저하가 있지만 코드 가독성과 유지 관리 성이 향상됩니다.