1. HOME
  2. »
  3. プログラミング・Web
  4. »
  5. JavaScript
  6. »
  7. 小学生からのJavaScript入門。今月の残り日数を計算してみよう!

小学生からのJavaScript入門。今月の残り日数を計算してみよう!

小学生からのJavaScript入門、第2弾です。
今回はJavaScriptでの演算(えんざん)の方法を学び、今月の残り日数を計算してみましょう。

演算というのは、足したり、引いたり、割ったり、かけたり、という計算です。

山田

てやんでぇ、べらぼうめ!


アル

ど、どうしたの!?


山田

この電卓(でんたく)、こわれてるべ。1たす2は12って出るべ。明らかに間違ってるべ


りこ

……多分、「+」ボタンがきかなくなってるね


山田

「むいちもつ(かつお)」がどれだけ必要か知るために、今月の残(のこ)り日数(にっすう)を計算しようと思ったのに、できないべ!


アル

なんてことだ


りこ

「ー」ボタンが使えるなら、できそうな気がするよ! 今月は30日までだから、30から今日の日にちを引けばいいんだよ


山田

これはプログラミングで計算するしかないべ!


アル

その手があったね!


りこ

うえーん、だれもわたしの話を聞いてくれないよー。助けて錦戸くーん!

演算子ってなぁに?

プログラミングで演算を行うとき、演算子(えんざんし)というものを使います。

山田

演算子というのは、演算を行うときに使う記号だべよ


りこ

足し算や引き算とかだけじゃなくて、いろんなのがあるのよ


アル

はやくも難しそうだよー

代入演算子

まずは代入演算子(だいにゅうえんざんし)を学んでいきましょう。

山田

代入は前回もやったけど、覚えているべか?


アル

うーん、なんだっけ?


りこ

変数に、数や文字を覚えておいてもらうことよ。ちゃんとしてよね!

変数(へんすう)に、数字や文字を代入するとき、「=」を使ったのを覚えていますか?
この「=」こそが代入演算子です。

例えば、a = 30というのは、「aという変数に、30という数を覚えておいて」とお願いする意味になります。
a = "こんにちは"とすれば、「aという変数に、こんにちはという文字を覚えておいて」とお願いする意味になります。

文字を覚えておいてもらうには、””でその文字を挟(はさ)む必要があります。
ちなみに、a = "30"というふうにすると、「aという変数に、30という文字を覚えておいて」という意味になります。

代入演算子は他にもありますが、まずは「=」を覚えておくといいでしょう。

比較演算子

前回、if()を使いました。比較演算子(ひかくえんざんし)はこのif()の中などで使われます。

== 数や文字が同じ
=== 数や文字が型(かた)も同じ
!= 数や文字が異(こと)なる
!== 数や文字が型も異なる
> 左の数字の方が大きい
>= 左の数字が同じか大きい
< 右の数字の方が大きい
<= 右の数字が同じか大きい

アル

===や!==に出てくる「型」ってなんだろう?


山田

変数には整数や小数点、文字列(もじれつ)といった型があるんだべ。文字列は文字の集まりのことだべ

例えば以下の例では「変数aが覚えている数が30だったとき、aは30ですというアラートを表示して」とお願いしている意味になります。

var a = 30;
if( a === 30 ) {
	alert("aは30です");
}

では、以下の例ではどうでしょうか。
1行目に注目です。30という数字ではなく、30という文字になっています。
この例の場合、aが覚えているのは30という文字(文字列)ですので、アラートは表示されません。

var a = "30";
if( a === 30 ) {
	alert("aは30です");
}

そんなときは、if()の中の「=」を2つにしてあげます。3つだと厳密(げんみつ)に同じときという意味になってしまうので、文字か数字かが違うと、違うものと判断してしまうのです。

var a = "30";
if( a == 30 ) {
	alert("aは30です");
}

こうすることで、変数の型が違ってもアラートが表示されます。

算術演算子

算術演算子(さんじゅつえんざんし)は、普段みなさんが計算するときに使うものとほぼ同じです。
ただ書き方がちょっと違(ちが)ったりするので、注意(ちゅうい)です。

+ 足し算
引き算
* かけ算
/ わり算

りこ

かけ算やわり算の書き方が違(ちが)うから注意(ちゅうい)しないとね

例えばこのようにすれば、20足す35の計算ができます。
varというコマンドで、sumという変数を宣言(せんげん)し、そこに20 + 35の結果を代入しています。
sumというのは合計という意味です。

var sum = 20 + 35;
alert( sum );

今月の残り日数(にっすう)を計算してみよう!

山田

ここから本題だべ。わだずの「むいちもつ(かつお)」があと何袋必要か調べるべ。


アル

30から今日の日にちを引けばいいんだね!


山田

そうだべ


りこ

私が最初に言ったのに!

さて、今月は11月です。30日までありますので、30から21を引きます。

var day = 30 - 21;
alert( day );

無事、9とアラートに表示されれば成功です。

アル

でもこれだと、明日になったらまた日にちを変更しなきゃだめだよね


山田

そうなんだべ。そんな時は今月の日数と、今日の日にちを自動的に変数に代入して、計算すればいいんだべ


りこ

すごい! わたしも知りたい!

年月日を取得して計算してみよう!

年月日を取得(しゅとく)するには、Dateというものを使います。

var date = new Date();
alert( date );

アル

年月日とか、時間までもが表示されてる!


りこ

ここから必要なものをもってくるのね!


アル

でもDate()の前のnewってなんなんだろう?


山田

いいとこに気がついたべな。このDate()というのは、もともと用意されているオブジェクトなんだべ。オブジェクトを使うとき、newすることで、インスタンスが作成されるんだべ


アル

??? 意味が分からないよー


山田

インスタンスを作成することで、いろんな機能(きのう)が使えるようになるんだべ。とにかく、「Date()を使いたい時はnewする」と覚えておけば今はいいべ


りこ

きっと、オブジェクトってのを勉強するときに繋(つな)がってくるのね!

とにかく、Date()からインスタンスを作成すると、年月日や時間などに関する、いろんな機能が使えるようになります。
では、現在が何年なのかを表示してみましょう。何年なのかを表示するにはgetFullYear()を使います。

var date = new Date();
var year = date.getFullYear();
alert( year );

今が何年なのか(この記事をかいたのは2018年)が表示されれば成功です。

同じように、月や日付を表示することもできます。
以下にその方法をまとめます。

var date = new Date();

//年
var year = date.getFullYear();
//月
var month = date.getMonth() + 1;
//日
var day = date.getDate();

りこ

あれ、getMonth()には1を足すのね


山田

そうなんだべ。getMonth()を使って月を取得しようとすると、0月〜11月となってしまうから、1を足す必要があるんだべ


アル

//ってのは?


山田

//と書かれた行は、コメントといって、プログラムに影響(えいきょう)を与(あた)えないものだべ。メモをしたい時とかに使うといいべ

今月末の日にちを取得してみよう!

では、今月末の日にちを取得(しゅとく)してみましょう。

山田

今月末の日にちを取得するにも、Date()が使えるんだべよ。


りこ

どうやってやるの?


山田

来月の0日は何日なのかを取得すればいいんだべ

今月末の日にちは、つまり来月の0日ということになります。
これも、Date()で取得することができます。

使い方は、Date( 年, 月, 0 ).getDate()とします。
実際にプログラムで使うには、以下のようにします。

var date = new Date();
var year = date.getFullYear();
var month = date.getMonth() + 1;
var eom = new Date( year, month, 0 ).getDate();
alert( eom );

eomというのは、「end of month(月末)」の省略(しょうりゃく)です。
月末の日にち(11月は30日までなので30)が表示されれば、成功です。

取得した年月日を使って、今月の残り日数を表示してみよう!

山田

あとは、月末の日にちから今日の日にちを引けばいいべ


アル

わーい、はやくやってみよう!

では残り日数を計算してみましょう。

var date = new Date();
var year = date.getFullYear();
var month = date.getMonth() + 1;
var day = date.getDate();
var eom = new Date( year, month, 0 ).getDate();
alert( eom - day );

これで、今月の残り日数が表示されます。

まとめ

今回はJavaScriptでの、今月の残り日数を取得する方法を紹介しました。
今月末の日にちから今日の日にちを引くことで計算はできますが、ちょっと今月末の日にちを取得するのが大変なので、しっかりと学びましょう。

山田

今回は演算の方法と、年月日の取得方法(しゅとくほうほう)が学べたべな


アル

これが使えればいろんなところで役立ちそうだね


りこ

大切なのはDate()ね! デート……錦戸くんと……


アル

毎回毎回……ちぇっ!


山田

まぁまぁ、とにかく演算の方法と年月日の取得方法をしっかり覚えておくべよ


りこ

うんっ


アル

うんっ

この企画の一覧はこちら

  1. 小学生からのプログラミング入門。JavaScriptでおみくじを作ろう!
  2. 小学生からのJavaScript入門。今月の残り日数を計算してみよう!
  3. 小学生からのJavaScript入門。画像の表示と移動をしてみよう!
  4. 小学生からのJavaScript入門。キー入力でキャラを動かしてみよう!
  5. 小学生からのJavaScript入門。ファイルを分けて管理してみよう!
  6. 小学生からのJavaScript入門。オブジェクトを使ってみよう!
  7. 小学生からのJavaScript入門。ゲームのメインループを作ってみよう!
  8. 小学生からのJavaScript入門。キャラを決まった間隔ずつ動かす!
  9. 小学生からのJavaScript。HTML5とCanvasを使ってみよう!
  10. 小学生からのJavaScript。迷路やRPGで使えるマップを作ってみよう!
  11. 小学生からのJavaScript。マップでキャラを動かせるようにしよう!
  12. 小学生からのJavaScript。クラスの概念をしっかりと理解しよう!
  13. 小学生からのJavaScript。プログラム全体をクラスを使って作ってみよう!
  14. 小学生からのJavaScript。文字を表示するクラスを作ってみよう!

スポンサードリンク

関連コンテンツ

オススメ記事

【CSS設計】ボタンを作って覚える。機能ごとに分けて作る重要性。

手が回らない、頭が回らない、口が回らない。@It_is_Rです。 CSSはある程度大雑把に書いても動かすことができます。しかし、CSSを覚える上で一番難しい部分と言えばCSS設計でしょう。 パ

WordPress テーマ自作 | Pug ( Jade ) で記事一覧ページを作る方法!

愛と勇気だけが友達の@It_is_Rです。 WordPress テーマ自作シリーズ第五回目です。 今回から、本格的にテーマを作っていきます。 前回の記事はこちらです。 WordPres

Swift

【Xcode7】Swift2でMacアプリ開発。Storyboardでボタンを作る。

喧嘩するほど仲がいいとは言いますが、喧嘩する相手がいません。友達がいないということでしょうか。@It_is_Rです。 前回、StoryboardでMacのウィンドウに文字を表示しました。しかし、

ショートコード

BEMによるCSS設計の方法を解説。命名規則から使い方まで。

完璧を求めすぎて、平均以下な@It_is_Rです。 CSSは比較的簡単なものですが、CSS設計をしっかりしておかなければ、余分なコードが多くなったり、後から修正が大変になったりしてこまることにな

wordpress

WordPress管理画面のテーマカスタマイザーに独自の項目を追加。

WordPressみたいに私自身の人生もカスタムできたらいいのに。@It_is_Rです。 WordPressのカスタマイズは、公開しているサイトだけではありません。 管理画面をカスタマイズする

Ameba customize

アメーバのOwndで、無料で超簡単にホームページ作ってやろうぜ!!

どうも、@It_is_Rです。 ホームページを作成するには、まずHTMLを使う能力、若しくはソフトが必要になります。 さらにサーバーを借りなくてはなりません。するとお金がかかったりします。 では

【webpack 4】npm-scriptsでオリジナルのコマンドを設定する方法

※追記(2018/5/15) 殆ど意味のない例を使っての説明にのちのち後悔し、余分な部分を大幅に削除しました。 畳んだ布団が飼い猫のお気に入りの場所になってます。@It_is_Rです。

enchant.js

enchant.js でキャラクターのアニメーションを作ってみよう

前回の記事では、キャラが移動する時のアニメーションがありませんでした。 突っ立ったまま進んで行く、まるで幽霊の様な状態です。 これでは、キャラが生きてるのか死んでるのか分からない! というこ

キャラクター

JavaScriptマンガ風講座。初心者でも絶対に理解できる入門編!!

プログラミングは奥が深い。。。@It_is_Rです。 Flashがスマホから使えなくなり、多くのサイトにHTML5が使われ、ブラウザ上でのアニメーションはJavaScriptが多く使われるように

【Android Studio】じゃんけんゲームの作り方(アプリ開発の基本)

限りなくじゃんけんが弱い@It_is_Rです。 Androidアプリ開発、11回目となりました。 そろそろ何かアプリを作ってみたいですよね。基本は大事ですが、一番つまらないですね。 そこ

コメントをどうぞ!

メールアドレスが公開されることはありません。