2022/08/26

Salesforce Unexpected tokenについて解説

 
  

Salesforce Unexpected tokenについて

Salesforce Unexpected tokenは、発生原因があります。翻訳すれば、「予期しないトークン」といった意味になります。 プログラミングを行う際に見かけるエラーですが、解説をしているサイトがあまり存在しません。なぜあまり存在しないのかと言うと、自力で解決しその後エビデンスを残している方が少ないといった原因があるといえます。 実際の原因で多いのは、プログラミングの記述ミスが多いです。実際の記述ミスについて説明させていただきます。

実際のコードの記述ミスについて

 例えば、下記のようなJavaScriptのコードを記載しました。下記のコードを実行後の説明も記載します。


console.log(""188"");}
console.log(""189"");

上記を実行するとUncaught SyntaxError: Unexpected token ‘}’」といったエラーが出ます。原因は、console.log(“”188″”);}の後ろの「}」になります。 この記号は、不要になるので、コンパイラが認識できずエラーになります。記述ミスで、エラーになるのはこういった不要な記号が入っていたりスコープ内で使用できないメソッドを使用したり等、色々な原因でエラーになります。

他のエラー例

 例えば、他にもエラーになる場合があります。下記のような少し複雑なものになると不要な記号を足したり、誤字も増えてきたり、呼び出し先が間違っている場合もあります。


btn.addEventListener('click_add', function() {
var text = ""abc""
for (i = 0; i < text.length; i++) {
 console.log(text.charAt(i)))
}}});

上記の場合は、変数textの後ろに「;」終わらせていないのとconsole.log(text.charAt(i)))の後ろの)が一つ多い事です。 どこで間違えているか、わからない場合は一度そのコードを見直してみる、()をどこでくくっているか確認する、誤字脱字が無いか、など確認することは多数ありますが、まずこういった事を確認すればいいでしょう。

Salesforce Unexpected tokenが発生した場合

 Salesforce Unexpected tokenが発生した場合も、同じく自分が作った処理を見直してみる事が大切です。中でもコーポーレートサイトで使用されることの多いSalesforceは、「止めてはならない、エラーで動かない場合を作ってはいけない」といった事が求められる事が多いと言えます。 Unexpected tokenが発生し、動かない致命的なエラーになっている場面もあります。そういった事が発生した場合に、自分の作った処理を見直してみるといった事が重要になってきます。 見直し方にも色々あり、作成前にフローチャートの作り込みをしっかり行っているか作成したフローチャートに誤りが無いか等問題を分けて考える必要があるでしょう。上記はプログラマーだけに関わらず、色々なエンジニアに共通して言えることになります。

エラーを発生させない為にも

Salesforceだけでなく、エラーを発生させにくくさせるプログラミングが、必要になってきます。まずフローチャートの作り込みを行い、自分が作ろうとしている処理を明確にする事がシステムを作るときに大切といえます。

参考プログラム

下記のようなJavaScriptのコードを見てください。下記のコードの実行後の対策も記載します。


var a = ""a"";
var b = ""b"";
var c = ""c"";
var d =""d"";
var e = ""e"";
if(a == ""a"") {
 console.log(""a"");
} elseif(b == ""b"") {
 console.log(""b"");
} elseif(c == ""c"") {
 console.log(""d"");
} elseif(d ==""d"") {
 console.log(""d"");
}

上記のコードは、保守しにくく今後変数が増えた場合に対応がしにくいです。例えば、下記のようにするとif文と配列に文字列を足したらできます。 let romaji = [‘a’, ‘b’,’c’,’d’,’e’]; 上記配列を設定しループさせる事で、保守的にもしやすくなります。

Salesforceを使う上で注意したいセキュリティ対策

セキュリティ対策は、どんなシステムを作る上でも大切な事です。悪意のあるスクリプトや悪意のあるハッカーなどが侵入しやすいシステムは、侵入されるシステム内に重要なデータを保存できません。その為、盗まれるとわかっているシステムは、使用する事が不可能となっています。

Salesforceのセキュリティ面

Salesforceを使った企業システムは、企業内の重要データを扱う事が多いです。企業内の機密情報や顧客データ、スタッフの個人情報などをデータベースで管理していることでしょう。 その際に、盗まれるリスクの高いシステムを使用していると企業の信用問題に繋がります。そうならないようにセキュリティ対策を行い、安全なシステムを開発する事は製作者の義務であり怠ることはできないといえます。 Salesforceは、セキュリティ面において堅固なセキュリティを実現していると企業ホームページで紹介されています。確かにSalesforceはクラウドセキュリティで安全と言えますが、どういった場合でも万が一という事があります。 例えば、クラウドセキュリティにワームホールが見つかる可能性も0ではありません。

Salesforce Unexpected tokenを発生させない

 Salesforce Unexpected tokenを発生させない為にもこれまでに書いた通り、コードの誤りを減らす事が重要になります。小さなキーコードの入力ミスといっても、重大なエラーに繋がる場合が多々あります。 重大なエラーを減らす為にもこれまで記載した通り、フローチャートの書き込みや設計書をよく確認するなどできる事があります。 フローチャートを確認しながらコードを書いていると動かなくなる場合があります。その場合は、フローチャートが間違っている可能性が高いです。

開発者の義務

プログラマーは、設計書を元にコードを書く事が一般的です。短いコードだと保守運用もしやすく、バグの少ないプログラムを書く事ができます。クラス分けや同じコードを書かないなどできることは多数あります。 クラスを分けるクラス毎の管理をしやすくする為に、クラス分けを行います。そうすることでセキュリティ面も安全で保守しやすいシステムを作る事ができます。保守しやすいコードを書くと自分以外の作業者が保守するようになっても保守しやすく作業効率が上がります。

エラー時のセキュリティ面

 エラーの多いプログラムは、セキュリティ面においても脆弱性に問題があります。エラー面をついてくる悪意のある攻撃があり、重要データを盗まれるといった事も起こり得ます。 バグの多いプログラムは、標的にされやすいです。バグが少なく、保守しやすいシステムを作ることにより、信頼の高いシステムになります。 保守は開発言語や採用されているソフトなどにより頻繁に起こります。保守は開発者以外も行うことを考慮しなければいけません。理由としては、開発者が手が離せない状況であったり、他のプロジェクトをする場合もあるといえます

最後に

 SalesforceUnexpectedtokenについて説明しました。途中でプログラムの開発について説明しましたが、開発する際に必要になってくることです。Salesforceだけでなく他のシステム開発の際に可読性の高いコードを書くことで、セキュリティ面も強化されます。 保守を行う人は、開発者とは限りません。保守を行う人が作業しやすく効率をあげる為にも可読性の高いプログラムを書く事が必要になります。

ITエンジニアへのキャリアチェンジならキャリアチェンジアカデミー

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニア
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞

おすすめの動画

  • 【未経験からIT業界へ転職するなら】相談窓口とスキルの獲得はここで解決!IT転職が一気に有利に!【キャリアチェンジアカデミー】

  • 【費用一切不要】未経験からIT業界へ転職するならまずはここへ相談!【キャリアチェンジアカデミー】

  • 【何のエンジニアになれるのか?】未経験からITエンジニアを目指すとこんな道がある【キャリアチェンジアカデミー】