JavaScript에서 문자열을 작성/연결하는 방법은 무엇입니까?
P粉513316221
P粉513316221 2023-08-27 19:01:23
0
2
469
<p>JavaScript는 대체/보간을 지원합니까? </p> <h3>개요</h3> <시간 /> <p>저는 JavaScript 프로젝트를 진행하고 있는데 프로젝트가 커질수록 문자열을 좋은 상태로 유지하는 것이 점점 더 어려워지고 있습니다. JavaScript에서 문자열을 구성하거나 작성하는 가장 간단하고 전통적인 방법이 무엇인지 알고 싶습니다. </p> <p>지금까지의 경험:</p> <인용문> <p>프로젝트가 더욱 복잡해짐에 따라 문자열 연결이 보기 흉해지기 시작하고 유지 관리가 더 어려워집니다. </p> </인용문> <p>이 시점에서 가장 중요한 것은 단순성과 가독성입니다. 단지 2~3개의 변수가 아니라 움직이는 부분을 생각해보세요. </p> <p>마찬가지로 중요한 점은 현재 주요 브라우저(예: ES5 이상)에서 지원된다는 것입니다. </p> <p>JavaScript 연결 약어를 알고 있습니다:</p> <pre class="brush:php;toolbar:false;">var x = '안녕하세요'; var y = '세계'; console.log(x + ', ' + y);</pre> <p>String.concat 함수도 있습니다. </p> <p>더 깨끗한 것을 찾고 있어요. </p> <p>Ruby와 Swift는 이를 흥미로운 방식으로 수행합니다. </p> <p><strong>루비</strong></p> <pre class="brush:php;toolbar:false;">var x = '안녕하세요' var y = '세계' "#{x}, #{y}"</pre>를 인쇄합니다. <p><strong>스위프트</strong></p> <pre class="brush:php;toolbar:false;">var x = "안녕하세요" var y = "세계" println("(x), (y)")</pre> <p>저는 JavaScript에도 sprintf.js와 같은 비슷한 것이 있을 것이라고 생각했습니다. </p>

질문

<시간 /> <p>타사 라이브러리 없이도 이 작업을 수행할 수 있나요? 그렇지 않다면 무엇을 사용할 수 있습니까? </p>
P粉513316221
P粉513316221

모든 응답(2)
P粉244730625

다른 답변 중 어느 누구도 "가장 빠른 방법"을 "가장 빠른 방법"으로 설명하지 않았다는 점에 실망했습니다...

저는 여기에서 두 가지 예를 가져왔고 위의 str。 join()str.reduce()nishanths의 답변에서 를 추가했습니다. Linux의 Firefox 77.0.1에 대한 결과는 다음과 같습니다.


참고: 테스트할 때 str = str.concat()str +=를 서로 바로 앞이나 뒤에 넣으면 두 번째 테스트가 항상 조금 더 나은 성능을 발휘한다는 사실을 발견했습니다...그래서 이 테스트를 개별적으로 실행하고 다른 결과에 대해 댓글을 달았습니다...

그래도 다시 실행시키면 속도가 많이 바뀌기 해서 3번씩 측정했습니다.

한 번에 한 문자:

  • str = str.concat()841、439、956 毫秒 / 1e7 concat() 的
  • ............str +=949、1130、664 毫秒 / 1e7 +='s
  • .......[].join(): [] 中有 3350, 2911, 3522 ms / 1e7 个字符
  • ......[].reduce()[] 中的 3954、4228、4547 毫秒 / 1e7 个字符

한 번에 26개의 문자열:

  • str = str.concat()444、744、479 毫秒 / 1e7 concat() 的
  • ............str +=1037, 473, 875 毫秒 / 1e7 +='s
  • ........[].join(): 2693, 3394, 3457 ms / 1e7 字符串在 []
  • ......[].reduce()[] 中的 2782、2770、4520 ms / 1e7 字符串

따라서 한 번에 1문자를 추가하든, 한 번에 26개 문자열을 추가하든:

  • 확실한 승자: 기본적으로 str = str.concat()str +=
  • 사이가 동점입니다.
  • 명백한 패자: [].reduce(),然后是 [].join()

브라우저 콘솔에서 쉽게 실행할 수 있는 내 코드:

으아악
P粉412533525

ES6에서는 다음을 사용할 수 있습니다.

ES5 이하 버전:

  • +연산자

    사용
    var username = 'craig';
    var joined = 'hello ' + username;
  • 문자열 concat (..)

    으으으으

또는 배열 방법을 사용하세요:

  • join( ..):

    var username = 'craig';
    var joined = 'hello '.concat(username);
  • 또는 더 이국적으로, reduce(..) 위의 항목과 결합:

    var username = 'craig';
    var joined = ['hello', username].join(' ');
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!