環境構築
フォント周り
yaourt -S ttf-koruri ttf-ricty otf-ipaexfont
日本語変換
yaourt -S fcitx-gtk2 fcitx-gtk3 fcitx-qt4 fcitx-qt5 fcitx-im fcitx-configtool fcitx-mozc
以下を設定
export GTK_IM_MODULE=fcitx export QT_IM_MODULE=fcitx export XMODIFIERS=”@im=fcitx”
必要最低限のソフトウェア
yaourt -S git vim-python3 mikutter zsh nodejs
入れておくと良さ気なやつ
yaourt -S webstorm intellij-idea-ultimate-edition
Quickrunの標準入力
:QuickRun
pragma mark
#pragma markがなにかわからなかった。
#pragma mark HOGE
こういう風に記述すると右上のFunctionMenuの見出しになる。
#pragma mark -
こう書くと区切り線になる。
setTimeoutの挙動
setTimeout(呼び出す関数, ミリ秒, 引数1, 引数2, 引数3, …)
diffのオプション
-b, --ignore-space-change スペースの数だけが違う場合には違いを無視する。不完全な行は無視される。 -i, --ignore-case 英大文字と小文字の違いを無視する。 -w, --ignore-all-space 行を比較するときスペースを無視する。不完全な行は無視される。 -E, --ignore-tab-expansion タブ展開によるスペースの変更を無視する。 --strip-trailing-cr 改行コード無視
パーフェクトJavaScript 1~3章
2章 JavaScriptの基礎
- varは省略するとグローバル変数になる
- varは省略するな
- 定数にはconstを使う
- 定位数はすべて大文字にする慣習がある
- しかしこれはJSの独自拡張で再代入してもエラーはでない
- 関数リテラルは関数と違って式なので式の中にかける
- 関数宣言文と関数リテラル式の変数への代入の働きはほぼ同じ
// 関数宣言文 function sum1(a, b){ return Number(a) + Number(b); } // 関数リテラル式の変数への代入 var sum2 = function(a, b){ return Number(a) + Number(b); }
- 関数宣言文で定義した関数名を右辺に書いて代入することもできる
var sum3 = sum1;
- オブジェクトは本質的に名前がない
- 名なしのオブジェクトを名前で呼ぶために変数が存在する
- 名なしの関数を名前で呼ぶために関数名が存在する
- Javascriptのオブジェクトはプロパティ(名前と値のペア)の集合
- オブジェクトリテラル式は中括弧{}で囲んで表現できる
{ プロパティ名:プロパティ値, プロパティ名:プロパティ値, プロパティ名:プロパティ値, ...}
- ECMAScript5では許されているが最後をカンマで終わるオブジェクトリテラルは避ける
- ドット演算(.)でプロパティにアクセスできる
- ドット演算子の後ろにプロパティ名を書くとプロパティ値を読み出せる
- 存在しないプロパティ値に代入すると新規プロパティの追加
- プロパティアクセスはドット演算子以外に配列のアクセスっぽくブラケット[]演算子でも可能
var obj = {x:3, y:4}; // 同じ var x1 = obj.x; var x2 = obj[x]:
- オブジェクトのプロパティに関数を代入することもできる
obj.fn = function (a, b) {return Number(a) + Number(b);};
- new式でオブジェクトを生成できる
- newのあとに書くのは関数名
- newのあとに関数名を書くとその関数をコンストラクタとして呼び出す
- 配列の要素には異なる型の値を並べることができる
3章 JavaScriptの型
- 以下の5つが基本型
- 文字列型
- 数値型
- ブーリアン型
- null型
- undefined型
- これ以外の型をオブジェクト型という
- 基本型のインスタンス => 値
- オブジェクト型のインスタンス => オブジェクト
- 基本型変数 => 数値などの値そのものを持つ
- 参照型変数 => オブジェクトの参照を持つ
- NaNはNaN以外になることはない
- isNaNという関数が用意されている
- null型は===で判定する必要がある
- undefined値は以下の様なところに現れる
- 未初期化変数の値
- 存在しないプロパティ値
- 実引数を与えずに関数を呼んdなとき関数内の対応する引数の値
- return文がないかreturn文に式がない場合の関数の戻り値
- void演算子の評価結果
- undefined値を得たいときは
void 0
- jsの型変換でfalseになる例
数値 0
数値 NaN
null値
undefined値
文字列値"( 空文字列値)
- オブジェクト型をブーリアン型に型変換すると必ずtrueになる