脱・初学者!Array.isArray()とArray.from()の使い分けを妹と一緒にマスターしよう

2026-02-20

お兄ちゃんが言ってる Array.array ってやつなんだけど……。 あのね、単刀直入に言うよ?

そんなメソッド、JavaScriptには存在しません!!!(ガーン!)

「えっ、嘘だろ!?」って顔してるお兄ちゃんのために、妹がビシッと解説してあげるから、耳の穴かっぽじってよく聞いててね!

お兄ちゃんが探してるのは、たぶん Array.isArray() か、もしくは Array.from() のことじゃないかな?

トラブルその1
存在しないメソッドを呼ぶ Array.array([1, 2]) って書くと、JavaScriptくんは「は?何それ、意味わかんないんだけど」ってキレて、TypeError を出しちゃうんだよ。

トラブルその2
インスタンスから呼んじゃう もし Array.isArray() のことだとしても、myList.isArray() みたいに書いちゃうとダメ。これは「Arrayというクラス(静的メソッド)」に聞かなきゃいけないルールなの。

お兄ちゃんがやりたかったことに合わせて、正しい書き方を教えるね。

一番よく使うのがこれ! Array.isArray() だよ。

// 正しいサンプルコード
const food = ["プリン", "アイス", "チョコ"];

if (Array.isArray(food)) {
  console.log("やったー!これは配列だね!お兄ちゃん、食べさせて!");
} else {
  console.log("えー、配列じゃないの?ケチー!");
}

HTMLの要素リスト(NodeList)とかを配列っぽく扱いたいときは、 Array.from() を使うんだよ。

// 配列もどきを本物の配列に変える魔法
const fakeArray = { 0: "あ", 1: "い", length: 2 };
const realArray = Array.from(fakeArray);

console.log(realArray); // ["あ", "い"]

これを見れば、もう間違えないでしょ?

やりたいこと使うべきメソッド妹からのアドバイス
配列かどうかの判定Array.isArray(obj)一番確実!これ以外は信じちゃダメ!
配列への変換Array.from(obj)似てるけど違うやつを仲間に入れる時に。
新しい配列を作るArray.of(1, 2)引数をそのまま要素にした配列を作るよ。

お兄ちゃん、わかった? Array.array は、お兄ちゃんの頭の中にしかない幻のコードだったんだよ。もう、うっかりさんなんだから!

もし「本当はこういう処理がしたかったんだ!」っていうのがあれば、もっと詳しく教えて? 妹がまた可愛く、厳しくチェックしてあげるからね!


javascript



【JavaScript攻略】Temporal APIで日付表示を極める!toLocaleStringの使い方と落とし穴

ゲームセンターの格闘ゲームやリズムゲームのシステムメッセージのように、熱量高めに、かつ丁寧に解説していきますよ!このメソッドは、タイムゾーンやカレンダー情報を持った日付を、ユーザーの言語や地域に合わせた形式で表示するための強力なコマンドです。


「あぁ、undefined だ…」Error.message が消える怪奇現象を追う、JavaScript 構文エラーの旅

井之頭五郎(風の男)が、ふらりと立ち寄ったのは「JavaScript 構文エラー」という名の路地裏の店。 今回は、エラーの正体――Error. messageについて、ドラマ仕立てで解説していくぞ。(五郎、カウンターに座る。目の前には「Error」という名の料理)


Object.keysとの違いは?Object.getOwnPropertyNamesを使いこなしてオブジェクトの深淵へ

「これさえ使えばオブジェクトのプロパティを全部ぶっこ抜ける!」と思ったら大間違い。フォームが乱れると、思わぬところで「あれ?取れてない!?」って筋肉痛(バグ)に襲われるぞ。しっかり補助に入るから、一緒に見ていこう!こいつは、指定したオブジェクトが持っている「独自のプロパティ名」を、列挙可能(Enumerable)かどうかに関わらず、全部配列で返してくれるメソッドだ。



JavaScript新時代の幕開け!Temporal.PlainTimeを使いこなして時間を支配せよ

今まで使ってた Date オブジェクトは、控えめに言って「使いにくすぎて発狂もん」だったよな。タイムゾーンで勝手に時間がズレたり、中身が書き換えられたり……。そこに颯爽と現れたのが Temporal. PlainTime だ。こいつは「日付(年月日)」を一切持たず、「純粋な時間(時・分・秒)」だけを扱う硬派なヤツだ。


【実録】闇バイトの甘い罠!?JavaScript正規表現「Invalid named capture reference」を撃退せよ

せっかくだから、最近物騒な「闇バイト」への注意喚起も兼ねて、ちょっとしたコント仕立てで見てみようか。怪しい男 「よう、いいバイトがあるんだ。名簿の名前をちょっと書き換えるだけの簡単な仕事だよ。JavaScript の正規表現ってやつを使えば一発だ。」


【JavaScript】TemporalのcalendarIdに潜む罠!和暦と西暦の迷宮を突破せよ

おい、助手!そこ、つまずかないように。ここは「カレンダー」という名の底なし沼なんだからな!JavaScriptの新しい日時操作API Temporal では、日付を作る時に「どのカレンダー(暦)を使うか」を指定できるんだ。calendarId は、その PlainDate オブジェクトが「何暦に基づいているか」を示すID(例iso8601


Dateはもう古い?Temporal.TimeZoneで制御する「時空の歪み」とトラブルシューティング

今の Date オブジェクトって、実は「スープの表面に浮いた脂」くらい扱いが難しいんだ。それを解決するために登場したのが Temporal。その中でも getTimeZoneTransition は、サマータイム(夏時間)の切り替わりという「どんぶりの底に沈んだ複雑なルール」をあぶり出す、超マニアックだけど重要なメソッドだよ。


その月計算、バグってないか?Temporal.PlainYearMonth で年跨ぎを安全に処理する方法

「今まで Date オブジェクトで苦労してたから」って? ああ、分かるよ。あいつは手癖が悪いからな。だが、新しい Temporal. PlainYearMonth にも、うっかり踏み込みがちな「落とし穴」ってやつがあるんだ。素直に話してくれれば、すぐに終わる。まずはこいつを見てくれ。


【コントで解説】なぜ equals() が false を返すのか?Temporal API の落とし穴を爆速で理解する

今日は、JavaScriptの次世代日付操作API Temporal について話しましょう。特に Temporal. PlainMonthDay. equals() ですね。「え、Date オブジェクトでよくない?」って?…先輩、それ、ガラケーでVR会議しようとするくらい無茶ですよ!これからは Temporal の時代。でも、最新技術ゆえの「落とし穴」もあるんです。コント風に解説していきますね!


そのコード、呪われていませんか? JavaScript文字列切り出しの真実

世の中には、知らずに使っていると、ある日突然コードが動かなくなったり、意図しない挙動に震えたりする「呪われたメソッド」が存在します。あなたが手に取ろうとしている string. substr(あるいは string. substring)も、実はそんな迷宮への入り口かもしれません。