Open5

個人用メモ<JS/TS>

文字数をカウント(サロゲートペア対策済み)

const hoge = "fugafuga";
[...hoge].length;
// -> 8

const fuga = "𠮟";
[...fuga].length;
// -> 1

ちなみに'𠮟'.lengthは2となる。これの対策のため、一旦スプレッド構文を使って一文字ずつの配列に分解して、その配列の長さをカウントする。

追記: これでも結合文字列(Grapheme cluster)には対応していない。例えば、「👨‍👩‍👦‍👦」は7文字扱いになってしまう

TypeScriptのfunctionの型指定方法

const hoge = (fuga: <>): <戻り値の型> => {
    //処理
};

配列から空要素を削除

const hoge = ['あ', '', 'い']
const deleted = hoge.filter(v => v)
// -> ['あ', 'い']

三項演算子

Pythonとごっちゃになったのでメモしておく

条件式 ? trueの時に実行される式 : falseの時に実行される式 

ちなみにPythonは

trueの時に実行される式 if 条件式 else falseの時に実行される式 
ログインするとコメントできます