2012年6月4日月曜日

CoffeeScriptでダブルコーテーションが入れ子になった文字連結

CoffeeScriptで文字列連結を行なって文字列を作るときに"の入れ子をしたときにエスケープしないというのに気づいたのでメモ

通常文字列連携するときには

-CoffeeScript-
abc='title'
console.log "こんにちは#{abc}"
をいう形で作ります。
※色は強調用に意図的に塗ってます。
これを用いてjQueryなどでエレメント名を変数化してる時など妙な入れ子になります。
"で括られてるため、気分的に\"とエスケープして書くとコンパイルするとエラーします。
どうやら文法的には入れ子になろうとエスケープしないで書くのが正解です。


-HTML部-
<h1 class="title">たいとるです</h1>
-CoffeeScript-
abc='title'
# console.log "こんにちは#{$(\".#{abc}\").html()}"
console.log "こんにちは#{$(".#{abc}").html()}"
個人的には違和感ありまくるのですが、こういうものらしいです。

0 件のコメント:

コメントを投稿