表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

ブックマーク機能を使うにはログインしてください。

【番外編】ライトノベルで学ぶJavaScriptプログラミング入門 【オブジェクトを封印?の巻】

作者: 野宮諒

我がAV部の狂乱に満ちたクリスマス会も終わり、外の風景も正月準備のため、急に和風な趣きになる。

毎度のことながら不思議な国だ。

AV部はと言えば、今日は授業も最終日ということもあり、大掃除に駆り出されている。

「真琴さーん、ロッカーの奥に変な壺があるんですけど」

「壺?そんなもの部室にあったかしら」

俺たちはロッカーの前に集合し、その壺を中から引っ張りだした。

「なんかお札みたいなので口をふさい出るぞ。『まふうじ』って書いてるけど魔封じってことか?」俺は壺に張り付けている紙に手を伸ばす。

「コウタさん、それってお札で本当に何かを封印してるんじゃ?はがすととんでもなく悪いことが起こりそうですよ」愛華が心配そうな顔をする。

「かまわないわ。魔物が出てきてもコウタのとこのポコスケがどうにかしてくれるでしょ」真琴は心配そうな愛華を無視して封印のような紙をベリッとはがした。

幸いはがしてはみたが、今のところ魔物が出てこない。

代わりに雑誌が入っている。

取り出してみた雑誌の表紙には『デラべっぴん』というタイトルが見える。

パラパラとページをめくってみるとエロ本のようだ。

「なるほど、クラスの男子のうちだれかがこれを書店で購入、家で使ったあとはきっとデスノート並みに隠し場所にこまるものになる。そこで学校の部室の壺に入れて別の男子がそれを借りる。そして使ったあとはまた壺に残し性エネルギーを奪い去る『魔物』を封印するという寸法なのだよ、ワトソン君!」と真琴はパイプをくわえる名探偵のようなポーズをとる。

「そんなのどうでもいいから、雑誌もそこのゴミ袋に入れて掃除の続きだろ。なんかページがいくつか木工用ボンドでくっ付けたみたいになってるしッ」

「これは貴重な資料としてわたしが預かっておくわ。ところでJavaScriptのオブジェクトも封印できるって知ってた?」

「封印?どういうことなんですか?」愛華が首をかしげる。

「サンプルコードで説明したほうが早いわね。こういうことよ」真琴は近くの机の上に立ち上げてあるノートPCにコードを打ち込む。

真琴はChromeのコンソールにこんなコードを入力した。


var object = new Object();

object.name = 'John';

object.greet = function(){

alert('こんにちは');

}

「ここではobjectという名前のオブジェクトを生成してプロパティの値と関数を.(ドット)でつないで設定してるわ」

続いてこんなコードを打ち込んだ。


console.log(object.name);

object.greet();


実行後はobjectのnameが表示された。つまりJohnが表示される。そしてアラートの『こんにちは』が表示された。

「まぁ、こうなるよな。JavaScriptのオブジェクトは外からプロパティとか関数とかで意義できるし」

「そう、でもここで新たにプロパティ、関数の追加を禁止させたい場合も無くは無い。そういう時はこう書けばいいわ」


Object.seal(object)


「今、objectを封印したの。だから次のようなことをやっても無駄よ」

と真琴はまたコードを打ち込む。


object.bloodType = 'B';

delete object.name;


「確認してみるわ」


console.log(object.bloodType);

console.log(object.name);


結果は、object.bloodTypeの値はundefinedとなり、deleteで削除したはずのobject.nameの値は、変わらずJohnを表示していた。

「今見てきたみたいに、このseal()を使えばオブジェクトのプロパティ、関数の追加、削除を禁止することができるようになるわ。ただ注意点は『値の変更』は依然として可能ってことよ。それじゃ、掃除の続きをしてガストで納会よ!」

こうして年末大掃除は、『謎の壺』に中断され、さらに臨時JavaScript講座によっても中断されたのであった。


評価をするにはログインしてください。
この作品をシェア
Twitter LINEで送る
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

この作品はリンクフリーです。ご自由にリンク(紹介)してください。
この作品はスマートフォン対応です。スマートフォンかパソコンかを自動で判別し、適切なページを表示します。

↑ページトップへ