Node.js 基礎入門[No.2]
グローバルオブジェクトとは
遅延実行
アロー関数
モジュールの使い方
json形式でファイルを読み書きする
グローバルオブジェクト
Node.jsの場合はglobal
ブラウザの場合はwindow
グローバルの配下にあるグローバルオブジェクトはどこからでも実行可能でglobalを省略可能
プロパティ例
__dirname 実行中のソースコードのデイレクトリパスを取得
__filename 実行中のソースコードのファイルパスを取得
遅延実行
非同期処理の一つ
指定した処理を先送りにする方法
5種類ある
process.nextTick(callback);//自身の再起呼び出しはしない。無限ループを避けるため
Promise.resolve().then(callback);
global.setImmediate(callback, delay);//nextTickよりこちらを使う
global.setTimeout(callback, delay);//delayを0にする場合はsetImmediateを使う
global.setInterval(callback, delay);
※callbackとは関数に呼び出してもらう関数※()をつけずに呼び出す
呼び出しもとは高等関数
callbackと非同期処理、promiseの参考
省略したアロー関数の書き方
let sayHello1 = name => `${name}さんおはよう`;
function sayHello2(name){
return `${name}さんおはよう`;
};
console.log(sayHello1("fukada"));//fukadaさんおはよう
console.log(sayHello2('fukada'));//fukadaさんおはよう
↑2つの関数は結果が同じ
引数が一つの場合()
中身が1行の場合は{}とreturnが省略できる
アロー関数参考
モジュールの使い方
index.htmlの<script>に type='module' 属性を追加して使う
2種類ある
ES modulesの場合
import * as 変数名 from 'パッケージ名'; 変数名.でメソッドやプロパティを使える
import {変数名} from 'モジュール名'; そのまま変数名が使える
※ファイルをインポートする場合は拡張子をつける
export let 変数名 定義するときにつける関数やクラスの場合は末尾に;をつけない
最後にまとめて export {変数1, 変数2};
package.jsonに "type": "module" を追加するまたは拡張子を.mjsにする
デフォルトエクスポート
1つのファイルに一つ
export defaultと宣言する
import 変数名 from 'モジュール名'
common JSの場合
const 変数名 =require(./パッケージ名)
※拡張子はいらない
変数名.hogeで使う
エクスポートするとき module.exports {変数1, 変数2};
exports.変数 変数につける
※JSでは関数も変数として扱える
json形式でファイルを読み書きする
fs(file system)をインポートする
import * as fs from 'node:fs';
JSON.stringify(オブジェクト) json形式に変更する
JSON.parse(json形式) オブジェクトに変更する
読み込み↓
fs.readFile('./sample.json', 'utf-8',(err,data)=> {
const object = JSON.parse(data);
console.log(object);
}//引数dataはsample.jsを表す
書き込み↓
fs.writeFile('./sample.json', JSON.stringify(object),
()=> console.log('書き込み完了'));
//実行コマンドの後ろの引数を受け取る
const request = process.argv[2];
この記事が気に入ったらサポートをしてみませんか?