網頁

2021/1/6

JavaScript Heredoc 多行字串

JavaScript利用類似heredoc建立多行字串。

今天看到一個JavaScript寫法覺得很特別如下。

let content = (function(){/*
<div>
  <table>
    <tbody>
      <tr><th>id</th><th>name</th></tr>
      <tr><td>1</td><td>John</td></tr>
      <tr><td>2</td><td>Mary</td></tr>
    </tbody>
  </table>
</div>
*/}).toString().match(/[^]*\/\*([^]*)\*\/\}$/)[1];

console.log(content);

content印出內容如下。

<div>
  <table>
    <tbody>
      <tr><th>id</th><th>name</th></tr>
      <tr><td>1</td><td>John</td></tr>
      <tr><td>2</td><td>Mary</td></tr>
    </tbody>
  </table>
</div>

問了一下才知道heredoc的做法是類似php的heredoc語法,又稱為Here文件(Here document),頭尾辨識符號包夾的內容即為實字,可以保存文字裡面的換行、縮排、引號等。這在寫多行組成的html文件內容非常方便,就不用看到一堆跳脫符、段行符及串接符了。

或是用heredoc library。


沒有留言:

張貼留言