LoginSignup
1
1

More than 1 year has passed since last update.

「null」と「undefined」の違いをゲームで楽しく学ぼう!

Posted at

はじめに

プログラミングを学習する上で必ず理解が必要となるnull
何もない状態ということではありますが、いまいちイメージが付きにくいかと思います。

また、JavaScript(以下、js)では値の1つとしてundefinedがあります。未定義であることを示す値とされていますがこちらもイメージが付きにくく最初は悩ます存在ですよね…。

オブジェクティブグループでは、社員一人一人の技術力向上を目指し毎月Excel講習、フロントエンド講習といった様々な講習会を行っています。

フロントエンド講習会では受講者の希望や理解度に合わせて講習を行っています。
ロジックコースの初心者向けクラスではHTMLCSSjsを使って基礎的な「プログラミング」で必要な内容や考え方を学習していきます。過去にnullundefinedについての講義があり、その際に盛り上がったゲームについてを記事とさせていただきます。

null or undefined ?

  • null:定義付けはされているけど、答えがありません
  • undefined:定義付け自体がそもそもされていない

講義を聞いていて、「わかるような……わからないような……?」という受講者に対して、講師からはトイレットペーパーへ例えたお話もありました。

  • null:トイレットペーパーの芯も紙もない状態
  • undefined:そもそもホルダー自体がない状態
    ※講師の方から一部適切な説明ではなくイメージを掴んでもらう為の説明とのことです。

やはり実生活に例えると想像がしやすく、理解がしやすいですね! という流れから、他にも例えられないか……そうだ、せっかくなのでゲームをしよう!となりました。

その名も……

null or undefined ゲーム!

名称はそのまま、ルールはシンプルです。
質問者は回答者を指名し、質問は自分で考えますが内容は何でもOK!

回答者が「true(はい)」「false(いいえ)」「null(質問の意味が分かりません) 」「undefined(質問自体の意味が分かりません)」と4点から答えることのできる質問を考えます。
 
条件分岐の講習も踏まえて「true」「false」も回答として含むことにしました。回答者は自身の感覚で答えてOKとします。そして、回答者は回答後に質問者となり、また別の回答者を指名します。

実際の問題・回答紹介

では、実際にどのような問題や回答が出たか。質問者、回答者は講師、受講生問わず行いました。

  • 「お米は黄色いですか?」
    一見falseですが、「お米」という言い方だと玄米や外国のお米も含まれるのでtrue。
  • 「トラベリング(※1)って知っていますか?」
    回答者はバスケットボール知識がなくfalseと回答。質問者としてはtrueが返ってくる想定での質問でした。
    ※1:バスケットボールの「3歩以上歩いてはならない」というルール
  • 「あwszdxfcygvhjkm;d」
    undefined!!!意味が分かりません!!
  • 「日本の大統領は誰ですか?」
    null!日本に大統領は存在しません。
  • 「スイカは果物ですか?」
    スイカは野菜という知識の有無でtrueかfalseか変わりますね。
  • 「ダンスパーティーは綺麗ですか?」
    ⇒質問者の意図ではダンスパーティー=紫陽花の品種です。一
    般的に思い浮かべる「舞踏会」を連想すると質問の意味が分からずnullとなりますね。
    しかし紫陽花の品種を知っていればtrueとなります。
  • 「ウィーーーースっ!」
    挨拶というのはわかるけど…
    質問ではなく意味がわからないですね(笑)undefined!
  • 「トマトは緑色ですか?」
    こちらも熟しているかどうか、旬の時期かどうかでも変わります。
  • 「N’Djamena!!(ンジャメナ)」
    こちらも意味が…わかりません… undefined!
    (ちなみにチャドの首都だそうです。しりとりで無敵になれますね。)

などなど質問を考えることや回答がどうなるかで大盛り上がりでした!
「null or undefined ゲーム」ですが、元々の知識があるかないかでも回答が大きく変わることが実感できるので、機械学習の重要さがわかります。

質問者でも、回答者でも条件分岐や定義の有無を考えるのでエンジニアとしての思考力が自然と上がります。何よりもnullundefinedに対して親しみが湧きますね(笑)

おわりに

実際にゲームをしていたのは30分ほどですが、受講生間でのコミュニケーションも自然と生まれ和気あいあいとした雰囲気で講習会を行うことができました。

この記事を読んで頂いた方は是非「null or undefined ゲーム」をしてみてはいかがでしょうか?
自然とエンジニアとしてのスキルアップにも繋がるかも…?

フロントエンド講習会は毎月第二土曜日に業務として行っているため、振替休日もしっかりと取得することができます。
オブジェクティブグループではこうした取り組みを行い、今後も社員全員のスキルアップを目指していきます!

参考:null/ undefined

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1