SlideShare a Scribd company logo
1 of 15
自己紹介
@tokoroten_lab
トコロテン (情報科学科2年)
最近鈴谷アキくんの非公式ファンサイトを立ち上げた。
http://akikun.ski/
はじまり
 神は「Webあれ」と言われた。するとWebがあった。
 神はそのWebを見て、良しとされた。
 神はその光とやみとを分けられた。
 神は光をHTML/CSSと名づけ、やみをJavaScriptと名づけられた。
 夕となり、また朝となった。第一日である。
JavaScriptとは
Web界のtourist
 バカ
世界はJavaScriptでできている
 アホ
常に進化し続ける前向きな姿勢
 マヌケ
柔軟な動的型付け言語
 カス
動作環境
クライアントサイド(基本的にWebブラウザの上で動作) サーバーサイド
Hello world.
console.log(‘Hello JavaScript’)
console.log(’Hello JavaScript’);
console.log(”Hello JavaScript”)
console.log(”Hello JavaScript”);
二分探索
期待結果: 0, 1, 2, 3, 4 実行結果: 0.5, 0.5, 2, 3.5, 3.5
カス
0.5, 0.5, 2, 3.5, 3.5
💩
二分探索
どこがまずかったのか
期待結果: 0, 1, 2, 3, 4 実行結果: 0.5, 0.5, 2, 3.5, 3.5
諸悪の権化
カス
JavaScriptにおける数値型
型 説明
Number 整数または浮動小数点数
例: 42, 3.14159
BigInt 精度が自由な整数値
例: 9007199254740992n
console.log(1 / 2) -> 0.5
console.log(data[1/2]) -> undefined
https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Grammar_and_types
Falsy if(value) {…}
value Boolean(value)
false false
null false
undefined false
0 false
NaN false
‘’ false
”” false
`` false
document.all false
二分探索
どこがまずかったのか
期待結果: 0, 1, 2, 3, 4 実行結果: 0.5, 0.5, 2, 3.5, 3.5
諸悪の権化
カス
→ 0.5
→ undefined > target
→ undefined < target
→ return 0.5;
改善案
const middle = left + (right – left) / 2;
const middle = Math.trunc(left + (right – left) / 2);
Math.floor()はおすすめしない: Math.floor(-1.5) → -2
TypeScript
JavaScriptに静的型付けをもたらす救世主
世界一型矯正が上手
静的型付け界のtourist
動的型付けの終焉を告げる者
実質型
実行時エラーを減らすために生まれてきた男
古典: 新約蜘蛛巣之聖書 より
おわり
 神はそのおおぞらをTypeScriptと名づけられた。
 夕となり、また朝となった。第二日である。

More Related Content

What's hot

おすすめ gem
おすすめ gemおすすめ gem
おすすめ gemchocoby
 
Web制作勉強会 #2
Web制作勉強会 #2Web制作勉強会 #2
Web制作勉強会 #2Moto Yan
 
私たちは何を Web っぽいと感じているのか
私たちは何を Web っぽいと感じているのか 私たちは何を Web っぽいと感じているのか
私たちは何を Web っぽいと感じているのか Kenta Yamamoto
 
Rubyで始めるWebスクレイピング
Rubyで始めるWebスクレイピングRubyで始めるWebスクレイピング
Rubyで始めるWebスクレイピングTakuro Sasaki
 
まだDOM操作で消耗してるの?
まだDOM操作で消耗してるの?まだDOM操作で消耗してるの?
まだDOM操作で消耗してるの?IRI MO
 
あの時AngularJSと出会った僕らは
あの時AngularJSと出会った僕らはあの時AngularJSと出会った僕らは
あの時AngularJSと出会った僕らはMuyuu Fujita
 
JavaEdge第3回ライブセッション
JavaEdge第3回ライブセッションJavaEdge第3回ライブセッション
JavaEdge第3回ライブセッションYoichiro Tanaka
 
Perl暦およそ10年(?)の僕がデータベースを使えるようになるまでの昔話
Perl暦およそ10年(?)の僕がデータベースを使えるようになるまでの昔話Perl暦およそ10年(?)の僕がデータベースを使えるようになるまでの昔話
Perl暦およそ10年(?)の僕がデータベースを使えるようになるまでの昔話azuma satoshi
 
JavaScriptユーティリティライブラリの紹介
JavaScriptユーティリティライブラリの紹介JavaScriptユーティリティライブラリの紹介
JavaScriptユーティリティライブラリの紹介Yusuke Hirao
 
Using SockJS(Websocket) with Sencha Ext JS
Using SockJS(Websocket) with Sencha Ext JSUsing SockJS(Websocket) with Sencha Ext JS
Using SockJS(Websocket) with Sencha Ext JSKazuhiro Kotsutsumi
 
LODを使ったサイトとプラグインを作ってみた話[WordBenchOsaka]
LODを使ったサイトとプラグインを作ってみた話[WordBenchOsaka]LODを使ったサイトとプラグインを作ってみた話[WordBenchOsaka]
LODを使ったサイトとプラグインを作ってみた話[WordBenchOsaka]Hidetaka Okamoto
 

What's hot (13)

おすすめ gem
おすすめ gemおすすめ gem
おすすめ gem
 
Web制作勉強会 #2
Web制作勉強会 #2Web制作勉強会 #2
Web制作勉強会 #2
 
私たちは何を Web っぽいと感じているのか
私たちは何を Web っぽいと感じているのか 私たちは何を Web っぽいと感じているのか
私たちは何を Web っぽいと感じているのか
 
Rubyで始めるWebスクレイピング
Rubyで始めるWebスクレイピングRubyで始めるWebスクレイピング
Rubyで始めるWebスクレイピング
 
まだDOM操作で消耗してるの?
まだDOM操作で消耗してるの?まだDOM操作で消耗してるの?
まだDOM操作で消耗してるの?
 
あの時AngularJSと出会った僕らは
あの時AngularJSと出会った僕らはあの時AngularJSと出会った僕らは
あの時AngularJSと出会った僕らは
 
JavaEdge第3回ライブセッション
JavaEdge第3回ライブセッションJavaEdge第3回ライブセッション
JavaEdge第3回ライブセッション
 
Perl暦およそ10年(?)の僕がデータベースを使えるようになるまでの昔話
Perl暦およそ10年(?)の僕がデータベースを使えるようになるまでの昔話Perl暦およそ10年(?)の僕がデータベースを使えるようになるまでの昔話
Perl暦およそ10年(?)の僕がデータベースを使えるようになるまでの昔話
 
Web勉強会 20120927
Web勉強会 20120927Web勉強会 20120927
Web勉強会 20120927
 
Ruby on JavaScript
Ruby on JavaScriptRuby on JavaScript
Ruby on JavaScript
 
JavaScriptユーティリティライブラリの紹介
JavaScriptユーティリティライブラリの紹介JavaScriptユーティリティライブラリの紹介
JavaScriptユーティリティライブラリの紹介
 
Using SockJS(Websocket) with Sencha Ext JS
Using SockJS(Websocket) with Sencha Ext JSUsing SockJS(Websocket) with Sencha Ext JS
Using SockJS(Websocket) with Sencha Ext JS
 
LODを使ったサイトとプラグインを作ってみた話[WordBenchOsaka]
LODを使ったサイトとプラグインを作ってみた話[WordBenchOsaka]LODを使ったサイトとプラグインを作ってみた話[WordBenchOsaka]
LODを使ったサイトとプラグインを作ってみた話[WordBenchOsaka]
 

More from Ten Tokoro

二項ヒープ
二項ヒープ二項ヒープ
二項ヒープTen Tokoro
 
川渡り問題
川渡り問題川渡り問題
川渡り問題Ten Tokoro
 
コーディングアンチパターン
コーディングアンチパターン コーディングアンチパターン
コーディングアンチパターン Ten Tokoro
 

More from Ten Tokoro (7)

Noko game
Noko gameNoko game
Noko game
 
二項ヒープ
二項ヒープ二項ヒープ
二項ヒープ
 
川渡り問題
川渡り問題川渡り問題
川渡り問題
 
Avengers
AvengersAvengers
Avengers
 
コーディングアンチパターン
コーディングアンチパターン コーディングアンチパターン
コーディングアンチパターン
 
Vision test
Vision testVision test
Vision test
 
English pond
English pondEnglish pond
English pond
 

本当にあった怖いJS