# 日報(2021-08-28) replaceAll() は not a function って言われるので使わない

# はじめに

DK (opens new window)English for Everyone シリーズの一冊、English Phrasal Verbs (opens new window)Safari Books Online (opens new window) にキター!って感じで来ました

高校生の頃から何十年もずっと句動詞に苦手意識があったのですが、今でもオライリーみたいな口語調の本を読みにくく感じるのもコレが原因なのではないかと薄々感づいてて、なんとかしなければいけないなと焦っていた矢先でした

元来、ボキャビルが大の苦手で、高校生の頃にシケ単を途中で放り出して以来、今に至るまで続いた試しがありません。 今回も途中で投げ出してももったいないので、この本の索引から受け取った句動詞をいろいろな Web 辞書で引けるようなコンポーネントを作って、毎日数語ずつ active に learning しています

Web 辞書は空白文字の表現が + だったり - だったり %20 だったりするので、元の句動詞の空白を一括変換する必要があるのですが、replaceAll() を使うと開発サーバーで見ている分には問題がないのですが、Netlifyに上げるとエラーの山

8:58:03 PM: [Vue warn]: Error in render: "TypeError: this.pv.replaceAll is not a function"
8:58:03 PM: found in
8:58:03 PM: ---> <PhrasalVerb>
8:58:03 PM:        <V63c93c56>
8:58:03 PM:          <Content>
8:58:03 PM:            <Page>
8:58:03 PM:              <Anonymous>
8:58:03 PM:                <GlobalLayout>
8:58:03 PM:                  <Root>
8:58:03 PM: [Vue warn]: Error in render: "TypeError: this.pv.replaceAll is not a function"
8:58:03 PM: found in
8:58:03 PM: ---> <PhrasalVerb>
8:58:03 PM:        <VFe1cdad4>
8:58:03 PM:          <Content>
8:58:03 PM:            <Page>
8:58:03 PM:              <Anonymous>
8:58:03 PM:                <GlobalLayout>
8:58:03 PM:                  <Root>

# 原因

replaceAll is not a function でググると沢山でてきますが、replaceAll が新しい標準なのでサポートにばらつきがあることが原因みたいです
バージョンを上げる方法を親切に解説してくださってる人もいますが、そんなややこしいものなら使わないですむのならそれが一番ありがたく、SO の こちらの回答 (opens new window) みたいに

replace(/ /g, '+')

って replace で一括変換してしまうのがスッキリしてて楽でした


Last Updated: 2022/4/10 12:47:54