2022.09.12

Salesforce 認定 JavaScript デベロッパー合格記

はじめに

先日、ついに「Salesforce 認定 JavaScript デベロッパー」の資格取得をしました。
この資格は、下記2つの条件を達成すると取得できます。

・Superbadge「Lightning Web Components Specialist」を取得する
・JavaScript デベロッパー多肢選択試験に合格する

今回はそれぞれの概要と、学習を通して得た知見を一部ご紹介します。
この資格に少しでも興味がある方は、受験するかの判断材料にしていただければ幸いです。

Superbadgeの概要と得た知見のご紹介

Superbadge「Lightning Web Components Specialist」の概要

こちらのSuperbadgeはシナリオベースの問題になっていて、LWCに関する合計18問の問題をすべてクリアすれば合格することができます。
要件をよく理解し、コーディングをする必要があるため難易度はかなり高いSuperbadgeになります。
しかし、時間制限はなく落ち着いて問題に取り組むことができるので、空いてる時間に挑戦が可能です。
シナリオの内容は全て英語で記載されているため、下記のボタンから日本語訳のシナリオを確認しながら挑戦することをお勧めします。

Superbadge「Lightning Web Components Specialist」で得た知見

こちらのSuperbadgeを取得する中で得た知見をほんの一部ご紹介します。

・作成したLWCに対してオプションを追加

画像1の赤枠に、作成したLWCに対してオプションを追加することが可能です。

画像1 LWCの設定箇所

オプションの追加方法

下記①、②を実施すれば画像1のように編集ページにオプションが表示されるようなります。

①LWCコンポーネントのxmlファイルにて、propertyタグを定義します
<?xml version="1.0" encoding="UTF-8"?>
<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
    <apiVersion>48.0</apiVersion>
    <isExposed>true</isExposed>
    <targets>
        <target>lightning__AppPage</target>
        <target>lightning__RecordPage</target>
        <target>lightning__HomePage</target>
    </targets>
    <targetConfigs>
        <targetConfig targets="lightning__RecordPage">
            <!-- 設定するオプションのラベル、データ型等をpropertyタグを使用して決定する。 -->
            <property label="テスト" name="test" type="String" datasource="1,2"/>
            <property label="並び替えの指定" name="sortType" type="String" datasource="昇順,降順"/>
            <objects>
                <object>Case</object>
            </objects>
        </targetConfig>
    </targetConfigs>
</LightningComponentBundle>
サンプルコード1
②LWCコンポーネントのJSファイルにて、xmlファイルで定義したpropertyタグのname値をプロパティとして定義します
※定義するプロパティには「アノテーション:@api」を付与する必要があります。
import { api, LightningElement, wire } from 'lwc';
import CaseNumber_FIELD from '@salesforce/schema/Case.CaseNumber';
import Subject_FIELD from '@salesforce/schema/Case.Subject';
import Status_FIELD from '@salesforce/schema/Case.Status';
import getCases from '@salesforce/apex/CaseController.getCases';
const COLUMNS = [
    { label: 'CaseNumber', fieldName: CaseNumber_FIELD.fieldApiName, type: 'text' },
    { label: 'Subject', fieldName: Subject_FIELD.fieldApiName, type: 'test' },
    { label: 'Status', fieldName: Status_FIELD.fieldApiName, type: 'text' }
];
export default class CaseList extends LightningElement {
    //xmlファイルを定義したオプション(name)をJS側で設定する。デコレーターapiをつける必要あり。
    @api
    sortType;
    @api
    test;
    columns = COLUMNS;
    @wire(getCases,{sortType : '$sortType'})
    Cases;
    get errors() {
        return (this.Cases.error) ?
            reduceErrors(this.Cases.error) : [];
    }
}
サンプルコード2
有効活用
 今回は「LWCに対してオプションを追加する」のデモとして、ソートの並び替えを設定から選択できるようにしています。

画像2 昇順の場合

画像3 降順の場合

他にも、下記のような設定を作成したLWCに対して追加することで、後の修正に対してもローコードでの対応が可能になります。
・リストに表示する項目の変更
・リストに表示する項目の順番
・フィルタ条件

今回紹介したLWCのオプションを追加すれば、個別開発したリストの表示項目を簡単に修正できたりと非常に便利な機能だと感じました。
というのも、実際に構築したシステムが稼働し始め、よくある変更対応として「表示する項目の修正」が発生します。
そんな時、ローコードで個別開発したリストの表示項目をお客様が簡単に変更できたら工数の削減にも繋がり再開発の手間を省けけるからです。
他にもSuperbadge「Lightning Web Components Specialist」を取得する中で得た知見で、ご紹介したかった機能が多くあります。
もっと詳しく知りたい方はぜひ挑戦してみてください。

JavaScript デベロッパー多肢選択試験の概要と得た知見のご紹介

JavaScript デベロッパー多肢選択試験の概要

多肢選択試験では、Javascriptに関する問題が出題されます。(LWCに関する問題は一切でません。)
他のSalesforce資格と異なる点としては、「ソースコードの出力結果について問われる問題が多いこと」です。

下記サイトに実際に出題される問題と類似した練習問題が多数掲載されています。
どのような問題が出題されるのか、ぜひ見てみてください。

JavaScript デベロッパー多肢選択試験で得た知見

こちらの試験で得た知見は下記のようなJavascriptの基本になります。
・変数・データ型・コレクション
・オブジェクト・関数・クラス
・ブラウザとイベント
・デバッグとエラーハンドリング
・非同期処理

おわりに

「Salesforce 認定 JavaScript デベロッパー」を受験するかの判断材料にはなったでしょうか。
1つの資格取得のために、2つの条件を達成する必要がありますが、LWC、JavaScriptに関する知見を広げたい方にはお勧めしたい資格になります。

また、LWC・JavaScriptの実装経験がない未経験者の方でも、手の届かない資格ではありません。
数か月前まで、「Promiseとは?」と疑問に思うほどJavaScriptの知識がなかった私でも、無事合格できました。入念に準備すれば未経験者の方も合格できるので、ぜひチャレンジしてみてください。
26 件
     
  • banner
  • banner

関連する記事