@jsonディレクティブ
javaScript内でphpの変数をjson形式で渡したい場合、今までこう書いてたと思います
$data = ['name' => 'hoge','age' => 99 ];
console.log(@json($data));
JS::from()
そのまま展開出来るようになります。
use Illuminate\Support\Js;
$data = ['name' => 'hoge','age' => 99 ];
$data = Js::from($data);
console.log({{$data}});
JS::from()の後に出来た@Jsディレクティブ
$data = ['name' => 'hoge','age' => 99 ];
console.log(@js($data));
@jsonと変わんねえじゃねえかよ!と思うかもしれません。
何やら@jsonはBladeComponentに引き渡した場合にコンパイルされないという問題があったらしく、
その問題点を改良したのが@jsディレクティブだそうです。
なのでLaravel8.x ~ の人は@jsかJS::from()使いましょう