Laravelで、コントローラから受け渡した配列変数をJavaScriptに渡す方法。
普通に、
const data = '{{json_encode($data)}}';
console.log(data);
のように渡すとダブルコーテーションが"のような文字になってしまう。
調べると、
JSON_UNESCAPED_UNICODEを、json_encodeの第二引数に入れてunicode文字列にされることを防ぎ。
!!で囲って、"にされることを防げるという。
そして、Laravel5.5以降は、@json()というbladeテンプレート用の関数で簡単にできるという。
const data = @json($data);
という書き方が結論のようにも思いましたが、今後外部ファイル化した時に、このことを忘れてはまる原因になりそうでしたので、一度は基本でやるということで、
const data = {!!json_encode($data, JSON_UNESCAPED_UNICODE)!!}
で対応しました。