JavaScriptでファイルを削除する方法を現役エンジニアが解説【初心者向け】

初心者向けにJavaScriptでファイルを削除する方法について現役エンジニアが解説しています。ローカルファイルの削除はセキュリティ保護のためできません。そこでNode.jsをインストールしてファイルを削除してみます。ファイルに関連するfsモジュールを読み込みunlinkメソッドで削除します。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事が4,000以上あります。現役エンジニアの方はこちらをご覧ください。

JavaScriptでファイルを削除する方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使って初心者向けに解説します。

JavaScriptについてそもそもよく分からないという方は、JavaScriptとは何なのか解説した記事をまずご覧ください。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、JavaScript/jQuery講座の内容をもとにしています。

 

田島悠介

今回は、JavaScriptに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

JavaScriptでファイルを削除する方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

ローカルのファイルを削除する方法

JavaScriptというとブラウザで実行するケースが多いかと思います。ローカルファイルの削除はブラウザからではセキュリティ保護のためできません。そこで、今回はサーバーサイドJavaScriptのNode.jsを使ってファイルを削除します。

Node.jsの環境は下記のリンクからダウンロードしてインストールすることで作成できます。

Node.js公式サイト

関連記事:手順を分かりやすく解説!Node.jsのインストール方法

実際に書いてみよう

ファイルを削除する最小のコードを用意しました。ファイル名はフルパスで拡張子まで記述してください。

例)削除するファイルの名前が「消される.txt」で、処理を実行しているjsファイル配下の「削除検証用」というフォルダの中にある場合

削除検証用/消される.txt

const fs = require('fs');
fs.unlink('【ファイル名】',(error) => {});

 

解説

「const fs = require(‘fs’)」にて、ファイルを操作するfsモジュールを読み込んでいます。

npmというNodeのパッケージを管理する機能を使って読み込むモジュールを追加したりすることも多いのですが、今回のファイル操作に使用している「fs」はNodeに標準で入っていますので読み込みの記述のみで動作します。

「fs.unlink(‘【ファイル名】’,(error) => {});」では、コールバックという仕組みを使って複数の処理が記述されています。
ひとつづつ分解して見ていきましょう。

まず最初は、「fs.unlink()」このunlinkがファイルを削除するメソッドです。このメソッドの第1引数がファイル名で、第2引数がコールバックとなっています。コールバックは平たく言うと、unlinkの削除処理が終わったら実行する処理です。

記述を最小にするために何も処理していませんが、「(error)」にファイル削除の際にエラーがある場合はエラーの内容が格納されます。「console.log(error)」のような処理をかけばエラーメッセージがコンソールに表示されることになります。

ファイルの操作をするモジュールの「fs」には、削除の他にも読み込みやコピーなどいろいろなメソッドがあります。

興味のある方はfsのリファレンスで確認してみてください。

fsのリファレンスはこちら

[PR] JavaScript・jQueryで挫折しない学習方法を動画で公開中

筆者プロフィール

横山茂雄(よこやましげお)

フリーエンジニアとして活動中。サーバーサイドからフロントまで時代の波に合わせてスキルを変化させてきました。

言語、フレームワーク、DB、現場、いずれも転々としながら、筋トレも欠かさない体育会系エンジニアです。TechAcademyジュニアのゲームアプリコースを担当しています。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも最短4週間で、JavaScript・jQueryを使ったWebサービス公開を習得できる、オンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。