おもしろwebサービス開発日記

Ruby や Rails を中心に、web技術について書いています

若手IT勉強会にいってきました

昨日は若手IT勉強会に行ってました。web業界は若い人が多いので*1、今年で28になる僕は若手の範疇に入るのか?と思いつつも面白そうだったので参加しました。

若手IT勉強会 - トップページ

今回の勉強会内容はサイ本の読書会でした。1章〜3章まで。勉強になったところをメモっときます。

読み方

これまで違う読み方をしていました><

Rhino
らいのー
ECMAScript
えくますくりぷと

数値

JavaScriptは整数と浮動小数点数を区別せずに全て浮動小数点数扱いとするようです。ということは十分に大きい数に1を加えたらどうなる?と思い実際に確かめてみたら1が消えました。

Math.pow(10, 100) == Math.pow(10, 100) + 1 // => true

8進数

8進数は標準ではサポートされてないけど、ブラウザによってはサポートしてるかもしれないので、数値の頭に0つけるのはやめたほうがいいようです。特に生年月日を入力してもらうとき等に注意したらいいのかな。

Infinity, NaN

Rubyと同じくInfinityとかNaNなどがあります。

NANかどうかを調べる関数
isNaN()
Infinityではないことを調べる関数
isFinite()
マイナス演算子
-1の"-"は単項演算子

変換

文字列変換をする方法二つ
  • toString()を使う
  • 空文字列を足して暗黙の変換をする
数値変換をする方法二つ
  • parseInt() or parseFloat()
    • 数値に変換できなかった時はNaNを返す
  • マイナス演算子を使って暗黙の変換をする
論理値変換をする方法二つ
  • Boolean()
  • !!
falseになる条件

"", 0, NaN, null, undefinedがfalseになる

void演算子

オペランド値を廃棄し未定義値を返す演算子。あんまりつかわない。

基本データ型をオブジェクトのように使う

文字列リテラルはなどの基本データ型は一時的にオブジェクトのように使用できる。でもあくまで一時的なので、プロパティに値を設定して他で使うようなことはできない。

var a = "ho";
a.hoge = "fuga";
alert(a); // "ho"
alert(a.hoge); // undefined

オブジェクトから基本データ型への変換

  • valueOf()があればそれをつかう
  • それがない or それで基本データ型が帰ってこない場合はtoString()をつかう
  • それをさらに数値に変換する

firebugのショートカット

command + returnでコンソールを実行できる

MacBook電源ケーブル収納方法

これが個人的には一番の収穫でしたw
MacBookの電源を持ち歩くときに、いつもケーブルの付け根が断線しないか気にしていた*2のですが、勉強会に来ていた方(だれだったかは忘れました)の収納方法をみて衝撃が走りました。

これを

こうして

こうできる!!

これで安心してケーブルを持ち運べます。

おまけ(懇親会)

終わった後はid:raituさんおすすめのしゃぶしゃぶ屋さんへ行きました。ちょっと値がはりましたが、とても雰囲気良くておいしくかった*3のでおすすめです。
しゃぶ屋

*1:たとえば16歳のフリーランスとかね

*2:ファミコンのアダプタをよく断線させていたので・・・

*3:特にイベリコ豚のしゃぶしゃぶが絶品!!