let変数
nodetest.js
let name = "aaaaa";
name = "bbbbb";
console.log(`name = ${name}`);
C:\Users\oe\test>node nodetest.js
name = bbbbb
C:\Users\oe\test>
const定数
値を再代入出来ない。
nodetest.js
const name = "aaaaa";
name = "bbbbb";
console.log(`name = ${name}`);
C:\Users\oe\test>node nodetest.js
C:\Users\oe\test\nodetest.js:2
name = "bbbbb";
^
TypeError: Assignment to constant variable.
at Object.<anonymous> (C:\Users\oe\test\nodetest.js:2:6)
at Module._compile (node:internal/modules/cjs/loader:1730:14)
at Object..js (node:internal/modules/cjs/loader:1895:10)
at Module.load (node:internal/modules/cjs/loader:1465:32)
at Function._load (node:internal/modules/cjs/loader:1282:12)
at TracingChannel.traceSync (node:diagnostics_channel:322:14)
at wrapModuleLoad (node:internal/modules/cjs/loader:235:24)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:171:5)
at node:internal/main/run_main_module:36:49
Node.js v22.17.1
C:\Users\oe\test>
配列
表示
nodetest.js
let array = [1,2,3,4,5];
console.log(array[3]);
array.push(6);
array.push(7);
console.log(array[6]);
array.pop();
console.log(array[6]);
C:\Users\oe\test>node nodetest.js
4
7
undefined
C:\Users\oe\test>
forEach
nodetest.js
let sum = 0;
let array = [1,2,3,4,5];
array.forEach(num=>sum += num);
console.log(sum)
C:\Users\oe\test>node nodetest.js
15
C:\Users\oe\test>
従来のfor
nodetest.js
let sum = 0;
let array = [1,2,3,4,5];
for (let i=0;i<array.length;i++){
sum += array[i];
}
console.log(sum);
C:\Users\oe\test>node nodetest.js
15
C:\Users\oe\test>
オブジェクト
構造体みたいなもの?
nodetest.js
const hito = {
name: "matsuzou",
age: 109
};
console.log(hito.name);
console.log(hito["name"]);
console.log(hito.age);
C:\Users\oe\test>node nodetest.js
matsuzou
matsuzou
109
C:\Users\oe\test>
関数
nodetest.js
function add(a, b){
return a + b;
}
console.log(add(5, 6));
C:\Users\oe\test>node nodetest.js
11
C:\Users\oe\test>
入れ子になった関数
nodetest.js
function outer(){
let count=0;
return function inner(){
count++;
return count;
}
}
const counter = outer();
console.log(counter());
C:\Users\oe\test>node nodetest.js
1
C:\Users\oe\test>
非同期
nodetest.js
const promise = new Promise((resolve) => {
setTimeout( ()=> resolve("完了"),5000);
});
promise.then(result=>console.log(result));
C:\Users\oe\test>node nodetest.js
完了
C:\Users\oe\test>
非同期 複数処理
各Promiseのresolveに渡した引数が、results配列の要素になる
1つでも失敗すると、結果配列は生成されない
nodetest.js
const task1 = new Promise( resolve =>
setTimeout( ()=>resolve("処理1完了"),2000 )
);
const task2 = new Promise( resolve =>
setTimeout( ()=>resolve("処理2完了"),1500 )
);
const task3 = new Promise( resolve =>
setTimeout( ()=>resolve("処理3完了"),2500 )
);
const task4 = new Promise( resolve =>
setTimeout( ()=>resolve("処理4完了"),1000 )
);
Promise.all([task1,task2,task3,task4])
.then( results => console.log("全処理終了",results) )
.catch( error => console.error("いずれかの処理が失敗") );
C:\Users\oe\test>node nodetest.js
全処理終了 [ '処理1完了', '処理2完了', '処理3完了', '処理4完了' ]
C:\Users\oe\test>