Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
8月24日に行われた「javascript勉強会@未来会議室」でのノートです。 http://otona.connpass.com/event/37732/

2016年8月24日

http://otona.connpass.com/event/37732/

プログラムとは

コンピュータはパソコンにしてもらうための言葉
インターネットやパソコン、スマートフォンなどで動くもの
コンピュータでできることはプログラムでなんでもできる!

コンピュータとは

一つ一つ具体的なことを書かないとだめ
人間みたいに雰囲気を読んでくれない

アルファベットで英語みたいな文章を書く
文法がある

コンピュータは複数のことが同時にできない
普通は細かな時間でプログラムを切り替えしている

Javascriptという言語
最近多く使われている言語

プログラムはテキストで書く
windowsだとメモ帳

de facto 名目上標準になったもの

repl.it
左側にプログラム、右側に結果を表示

プログラムって何? 概念的なことを考える

  • 足し算や引き算ができる。
  • 文字を画面に表示できる。
  • 何か入力してください。
3 + 4
=> 7
3 + 4
5 * 2
=> 10

計算することを評価と呼ぶ
repl.itでは最後に評価されたものが表示される
掛け算は * を使います

console.log(42)
3 + 4
5 * 2
=> 42
=> 10

コンピュータへの命令
()を使うことが多い

演算

console.log(42)
console.log(3 + 4)	// 足し算
console.log(3 - 4)	// 引き算
console.log(3 * 4)	// 掛け算
console.log(3 / 4)	// 割り算
console.log(0.2 * 0.3)	// 少数計算
console.log(2 + 2 * 3)	// 計算の優先順位
console.log( (2 + 2) * 3)	// 括弧による優先順位
console.log( 3 % 2)	// 剰余(余り)

コンピュータは計算した瞬間に結果を忘れる
結果を使うために一時的に箱なようなものが必要
複雑な計算をするためには変数を使う

変数を使うために、宣言が必要

var a;

varはjavascriptでの変数宣言

var a;
var b;

セミコロン(;)は命令の終わりを知らせるためにつける

プログラミングで重要なことは想像力

var a;
a = 7;

プログラムではイコール(=)は同じという意味ではなく入れるという意味
入れるということを代入と呼ぶ
ここでは変数aに7を代入している

var a;
var b;
a = 7;
b = 5;

console.log(a * b); // => 35
var res = a * b;
console.log(res); // => 35

resは変数の初期化が行われている
計算順序として=は順番が遅い(演算子の優先順序)

  • 演算 (計算すること)
  • 演算子 (演算を表す記号)
a = 7;
a = 10;
console.log(a); // => 10

変数は複数の数字が保持はされるずに、上書きされる

文字列

文字と文字列 文字は1文字 例えば "a" 文字列は文字が並んだもの 例えば "abc"

var c = 'Hello World!'

javascriptで文字列はシングルクォーテーション(')またはダブルクォーテーション(")でくくる

var c = 'Hello World!'
console.log(c); // => Hello World!

数字や文字列はリテラルと呼ぶ
書いたとおりに表現できるもの、数字、文字列など

条件分岐

if (条件) {
	// 条件が成立したときの命令
} else {
	// 条件が成立しなかったときの命令
}
// var a = 5;
var a = 7;

if (a > 5) {
	console.log('Big!');
} else {
	console.log('Small!');
}

window.prompt

window.prompt('Number?')

window.promptはブラウザが提供している機能

window.promptを呼び出すことで、ユーザの入力(対話)を促せる

var a = window.prompt('Number?');
console.log(a);

if (a > 5) {
	console.log('Big!');
} else {
	console.log('Small!');
}


if-else

var a = window.prompt('Number?');
console.log(a);

if (a > 7) {
	console.log('Big!');
} else if (a > 3) {
	console.log('Middle!');
} else {
	console.log('Small!');
}

繰り返し

forを利用する

for ( xxxx; xxxx; xxxx)

for (繰り返しの初期化; 条件; 継続処理)

例えば回数を数える 1,2,3,4,5....10

for (var i = 0; i < 10; i = i + 1) {
	
}
for (var i = 0; i < 10; i++) {
	
}

i++という書き方は i = i + 1 と一緒
i--という書き方は i = i - 1 と一緒
i++をincrement(インクリメント)といいます
i--をdecrement(デクリメント)といいます

var a = 2;

var res = 0;	// 合計を保存する変数

for (var i = 0; i < 10; i++) {
	res = res + a;
    console.log('res = ' + res);
}

console.log('res = ' + res);

コメントアウト

プログラムの動作に影響をさせないようにする スラッシュを二つ先頭につけるとコメントアウトになる

// console.log('これはコメントアウトです');

等差数列をプログラムで書いたもの

var res = 0;

for (var i = 0; i < 10; i++) {
	res = res + (i + 1);
    console.log('res = ' + res);
}

console.log('res = ' + res);

チャレンジ問題 (FizzBuzz)

3で割り切れる Fizz と出力する 5で割り切れる Buzz と出力する 3でも5でも割り切れる場合は FizzBuzz と出力する

ヒント: 剰余算(%)を使う。割り切れる場合余りが0となるので===を使って比較する

var a = 10;
if (a % 3 === 0) {
	console.log('Fizz');
} 

if (a % 5 === 0) {
	console.log('Buzz');
}
var a = 15;

var str = "";

if (a % 3 === 0) {
	str = str + "Fizz";
}

if (a % 5 === 0) {
	str = str + "Buzz";
}

console.log(str);
for (var i = 0; i <= 100; i++) {
var str = i;
// 3で割り切れる
if (i % 3 === 0) {
str = "Fizz";
}
// 5で割り切れる
if (i % 5 === 0) {
str = "Buzz";
}
// 3と5で割り切れる 3*5=15
if (i % 15 === 0) {
str = "FizzBuzz";
}
console.log(str);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.