Programming

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

procodes 2020. 5. 15. 21:07
반응형

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. 여기서 마무리합니다.

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


위의 제안을 많이 시도했지만 Chrome 코드 관리자에서 불법 문자 경고를 받았습니다. 다음은 나를 위해 일했습니다 (Chrome에서만 테스트되었습니다!)

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

마치 ...

stuff on line 1
stuff on line 2

NOTE the double backslash!!...this seems to be important!


No need of any manual break in code. Just add \n where you want to break.

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

This will show the alert like

Please select file 
to delete.

참고URL : https://stackoverflow.com/questions/508269/how-do-i-break-a-string-across-more-than-one-line-of-code-in-javascript

반응형