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。
沒有留言:
張貼留言