---
title: "サポートJavaScript機能"
slug: "supported-javascript-functions"
abstract: "サポートされているJavaScript関数の概要(Sitecore CDP)。"
---
# サポートJavaScript機能

以下はコード例を含むサポートされているJavaScript関数です。条件を作成する際にこれらを使用できます。

## アレイ分解

Sitecore CDPは配列のデストラクチャリング機能をサポートしています。配列から値を解凍するには、以下のJavaScriptを使用できます:

var a, ...b = 1, 2, 3;
print(a); // 1
print(b); // 2, 3

## 配列フィルター/マッピング/リデュース

Sitecore CDP .map()、.reduce()、.filter() の各方法をサポートしています。

filter()メソッドは配列内の各要素に対して条件文を適用します。条件がtrueを返すと、その要素は出力配列に押し込まれます。

map()メソッドは既存の配列から新しい配列を作成し、最初の配列の各要素に関数を適用します。

reduce()メソッドは配列の各要素に対してリデューサー関数を実行し、配列の値を1つに減らします。

以下のJavaScriptには例が含まれています:

const getMax = ( max, cur ) => Math.max( max, cur );

print(
  { x: 10 }, { x: 66 }, { x: 150 } 
 .filter(el => el.x < 100)
 .map( el => el.x )
 .reduce( getMax, -Infinity )
);
// expected output: 66

## 矢の関数

Sitecore CDPは、より短い関数構文を書けるようにするarrow関数をサポートしています。関数に文が1つしかなく、文が値を返す場合は、括弧とreturnキーワードを外すことができます。

以下のJavaScriptには例が含まれています:

let materials = 
 'Hydrogen',
 'Helium'
;
print(materials.map(material => material.length));
// expected output: Array 8, 6

## クラス

Sitecore CDP関数の一種としてclassをサポートしています。キーワードfunctionを起動する代わりに、キーワードclassを使ってください。プロパティはconstructor() メソッド内で割り当てられます。

以下のJavaScriptには例が含まれています:

let Rectangle = class {
 constructor(height, width) {
 this.height = height;
 this.width = width;
 }
};
print(Rectangle.name);
// output: ""Rectangle""

## デフォルトの関数パラメータ

Sitecore CDPはデフォルトの関数パラメータをサポートしています。デフォルトパラメータは、入力されていない場合に関数パラメータのデフォルト値を設定できるようにします。

以下のJavaScriptには例が含まれています:

function multiply(a, b = 2) {
 return a \* b;
}
print(multiply(5));
// expected output: 10

## とconst結合

Sitecore CDP letビンディングとconstビンディングの両方に対応しています。

letバインディングはdeclaration.let変数を含む(ブロック)スコープの上部で作成され、定義が評価されるまで初期化されません。

const文はlet文と同じローカル変数を宣言します。しかし、初期化後は他の値に再割り当てすることはできません。宣言時に初期化しなければなりません。

以下のJavaScriptには例が含まれています:

const foo = 'bar';
let ten = 10;
print(foo, ten);
// expected output: bar, 10

## 物体の分解

Sitecore CDPはオブジェクトのデストラクチャリングをサポートしています。これを使ってオブジェクトからプロパティを抽出し、変数にバインドします。

以下のJavaScriptには例が含まれています:

var o = {p: 42, q: true};
var {p, q} = o;
print(p); // 42
print(q); // true

## 休止パラメータ

Sitecore CDPは、関数内のパラメータとして様々な入力を扱う改良方法としてRESTパラメータをサポートしています。RESTパラメータ構文により、無限数の引数を配列として表現できます。

以下のJavaScriptには例が含まれています:

function sum(...theArgs) {
 return theArgs.reduce((previous, current) => {
 return previous + current;
 });
}
print(sum(1, 2, 3));
// expected output: 6

## スプレッド構文

Sitecore CDPはspread構文(...)をサポートしており、イテラブルが0つ以上の引数が予想される場所で展開できます。

以下のJavaScriptには例が含まれています:

function sum(x, y, z) {
 return x + y + z;
}
const numbers = 1, 2, 3;
print(sum(...numbers));
// expected output: 6

## テンプレートリテラル

Sitecore CDPはテンプレートのリテラル構文をサポートしており、文字列を扱う際に単一(')やダブル()クォートの代わりにバックティック(')を使うことができます。

以下のJavaScriptには例が含まれています:

const a = 5;
const b = 10;
print(\`Fifteen is ${a + b} and not ${2 \* a + b}.\`);
// ""Fifteen is 15 and not 20.""