割と優雅

ブログの練習

JavaScriptでundefinedが出力されちゃった

undefinedが出力されちゃった

配列の中身をテキストに足していって最後にひとつの文章を出力する。

let text;

const array = ["こんにちは", "はじめまして", "ネメシスちゃんです"];

array.forEach((value, index) => {
    text += value;
});

console.log(text);
//出力結果は「undefinedこんにちははじめましてネメシスちゃんです」
//なんだこのundefinedは


このundefinedの出所がわからず、配列の作り方がまずかったかなとそこばかり見てしまった。

もちろん原因は最初のlet text;の部分で、変数宣言の際に値を何も設定しなかった場合、
ほかの言語はnullとかになったり、そもそも怒られたりするような気がするけど、
JavaScriptの場合はundefinedとなる。つまり未定義ってこと。

どうする

普通にこうすればよい

let text = "";
//空文字をいれておく

const array = ["こんにちは", "はじめまして", "ネメシスちゃんです"];

array.forEach((value, index) => {
    text += value;
});

console.log(text);
//出力結果は「こんにちははじめましてネメシスちゃんです」

※こんなもの初歩の初歩だと思われる。基礎的な勉強を何もせずいきなりコードを書こうとして、逆に時間をロスしている。。。