console.logで文字列をログに記録できませんか?

このコードが期待通りに動かない理由がわかりません。w3schools では動作しているようです。

head_tag.html

<script type="text/discourse-plugin" version="0.8">

  const user = api.getCurrentUser();
  const { setDefaultHomepage } = require('discourse/lib/utilities');

  console.log("Primary group: " + user.primary_group_name);
  console.log('full map: ' + settings.group_homepage_map);
  if (settings.group_homepage_map && settings.group_homepage_map_enabled) {
      const map = settings.group_homepage_map.split("|");
      var two = map[1];
      console.log("Hello world!");
      console.log("hello? " + map);
      console.log("my map zero: " + map[0]);
      console.log(map[0]);
      console.log(map[1]);
      console.log(String('some text'));
      console.log("wwf: " + map[0]);
      console.log('two' + map[1] + 'one');
      console.log("first group: " + map[0].split(',')[0]);
      console.log("first url: " + map[0].split(',')[1]);
      console.log("second: " + map[1]);
      console.log("thing: ", map[0].split(",")[1]);
    }
  if (settings.home_url_override && settings.home_url_override_group.length == 0 ) {
    setDefaultHomepage(settings.home_url_override);
  }

</script>

JavaScript コンソールに表示されているのはこれだけです:

Primary group: lastone
full map: lastone,c/transcription/5|testergroup,latest
hello? lastone,c/transcription/5,testergroup,latest
my map zero: lastone,c/transcription/5
lastone,c/transcription/5
wwf: lastone,c/transcription/5
first group: lastone

つまり、文字列だけをログ出力できず、配列の要素 [1] にアクセスできないようです。

神様も狂っているに違いない。

| で分割するつもりでしたか?, ではないのはなぜですか?

これは、グループから希望のホームページへのマッピングです。

     description: "group,c/cat/5|group2,c/cat2/6"

したがって、まず | で分割して各ペアを取得し、次に , で分割して以下のように取得します。

  • group → c/cat/5
  • group2 → c/cat2/6

しかし、これでは console.log("Hello world!"); がテキストを出力しない理由を説明していません。

それでは、コードが実行されていないことがわかります。if 文の外側で console.log は実行されますか?

ありがとう、ジャスティン!試してみますが、同じブロック内の多くのログが呼び出されています。設定の文字列をログ出力してもエラーにはなりませんが、変数に文字列を連結してログ出力するとエラーが発生します。