Tagged Template Literals について怪しかったので調べた

はじめに 最近よく見るようになった export const StyleWrapper = styled.div` --fc-button-bg-color: #3b82f6; ` のような記法について、よく理解できてなかったので調べた 疑問 ヒアドキュメントみたいな記法がわかってない まとめ 関数呼び出し 第一引数: 文字列配列 第二引数以降: ${...} で評価された結果が渡る 以下が全て const person = "Mike"; const age = 28; function myTag(strings, personExp, ageExp) { const str0 = strings[0]; // "That " const str1 = strings[1]; // " is a " const str2 = strings[2]; // "." const ageStr = ageExp < 100 ? "youngster" : "centenarian"; // We can even return a string built using a template literal return `${str0}${personExp}${str1}${ageStr}${str2}`; } const output = myTag`That ${person} is a ${age}.`; console.log(output); // That Mike is a youngster. 以下詳細 名前は Tagged Template Literals ES6(2015) の機能 JavaScript の Template literals(テンプレート文字列)の拡張 テンプレート文字列は、バッククォート(`)文字で囲まれた文字列で、複数行の文字列や文字列内の式のインターポレーションが可能 タグ付きテンプレート( Template literals (Template strings) - JavaScript | MDN ) テンプレート リテラルのより高度な形式は、タグ付きテンプレートです。 タグを使用すると、関数を使用してテンプレートリテラルを解析できます。 タグ関数の最初の引数には、文字列値の配列が含まれます。 残りの引数は式に関連します。 タグ関数は、これらの引数に対して必要な操作を実行し、 操作された文字列を返すことができます。 (あるいは、次の例のいずれかで説明するように、まったく異なるものを返すこともできます。) タグ関数とバッククォートの間に空白は入れられるが、一般的にはそんなことはしない 実際に動いたけど、ChatGPTちゃんはそんなことはしねーよと言っている HOF: Higher Order Function 高階関数のこと 関数を引数にとったり、関数を戻したりする関数の事 ...

2023-12-06 ·  2023-12-06 · 1 分 · 161 文字