第一章のまとめを読みます.
6463 ワード
第一章基本的なフォーマット
1.4①改行
一行の長さが1行の最大文字制限に達した場合、手動で1行を2行に分解する必要があります.私たちは通常、演算子の後に改行し、次の行に2つの階層のインデントを追加します.
目的:ASI(Automatic Semicolon Insertion)機構は、ある場面で行の最後の位置にセミコロンを挿入することを防止します.いつも一つの演算子を行末に置くと、ASIは自分で勝手にセミコロンを挿入せず、エラーが発生するのを避けます.
1.5②空行
コードは、柔らかな結合テキストではなく、一連の読み取り可能な段落のように見える.ある部分のコードの意味と別のセグメントコードが関係しない場合は、空行を使って分離します.
1.6③命名
JavaScript言語の中心となるECMAScriptは、キャメルcaseの命名法に従っています.キャメルの大きさの書き方は小文字から始まり、後の単語ごとに頭文字が大文字になります.
変数名は、常にラクダのピークの大きさに従って命名法を書き、プレフィックスは名詞です.関数名プレフィックスは動詞であるべきです.関数と方法のネーミングにとって、最初の単語は動詞であるべきです.ここには動詞を使う共通の約束があります.
動詞
意味
can
関数はブール値を返します.
ハイ
関数はブール値を返します.
is
関数はブール値を返します.
get
関数は非ブール値を返します.
セット
関数を使用して値を保存します.
JavaScriptでは、構造関数は、new演算子の前に冠された関数にすぎず、オブジェクトを作成するために用いられ、構造関数の命名は、大きいラクダピーク命名法(Pascal Case)に従う.
Pascal CaseとCamel Caseはいずれも「ラクダのピークの大きさ」を表しています.二つの違いはPascal Caseが大文字で始まることにあります.したがって、another NameはAnother Nameに置き換えられます.このようにすれば、変数と普通の関数からコンストラクションの名前もしばしば名詞です.これらはあるタイプのインスタンスを作成するために使われます.
JavaScriptでは、文字列は唯一無二です.文字列はダブルクォーテーションマークで囲むことができます.シングルクォーテーションマークで囲むこともできます.
文字列については、もう一つの問題があります.複数行の文字列を作成します.
1.7.3⑦null
nullは特殊な値ですが、私たちはよく誤解します.undefinedと混同します.下記の場面でnullを使うべきです.は、一つの変数を初期化するために使用されます.この変数は一つのオブジェクトに割り当てられます. は、初期化された変数と比較するために使用されます.この変数はオブジェクトではなくてもいいです. 関数のパラメータがオブジェクトであることが望ましい場合、パラメータとして入力されます. 関数の戻り値がオブジェクトである場合、戻り値として流れる また、次のような場面ではnullを使用してはいけません. nullを使用して、あるパラメータが入ってきたかどうかを検出しないでください. nullを使用して初期化されていない変数を検出しないでください.
1.4①改行
一行の長さが1行の最大文字制限に達した場合、手動で1行を2行に分解する必要があります.私たちは通常、演算子の後に改行し、次の行に2つの階層のインデントを追加します.
// : ,
callFunction(document, element, window, "some string value", true, 123, navigator); // :
callFunction(document, element, window, "some string value", true, 123 , navigator)
目的:ASI(Automatic Semicolon Insertion)機構は、ある場面で行の最後の位置にセミコロンを挿入することを防止します.いつも一つの演算子を行末に置くと、ASIは自分で勝手にセミコロンを挿入せず、エラーが発生するのを避けます.
1.5②空行
コードは、柔らかな結合テキストではなく、一連の読み取り可能な段落のように見える.ある部分のコードの意味と別のセグメントコードが関係しない場合は、空行を使って分離します.
1.6③命名
JavaScript言語の中心となるECMAScriptは、キャメルcaseの命名法に従っています.キャメルの大きさの書き方は小文字から始まり、後の単語ごとに頭文字が大文字になります.
var thisIsMyName; var anotherVariable; var aVeryLongVariableName;
1.6.1④変数と関数変数名は、常にラクダのピークの大きさに従って命名法を書き、プレフィックスは名詞です.関数名プレフィックスは動詞であるべきです.関数と方法のネーミングにとって、最初の単語は動詞であるべきです.ここには動詞を使う共通の約束があります.
動詞
意味
can
関数はブール値を返します.
ハイ
関数はブール値を返します.
is
関数はブール値を返します.
get
関数は非ブール値を返します.
セット
関数を使用して値を保存します.
//
var count = 10; var myName = "Nicholas"; var found = true; // :
var getCount = 10; var isFound = true; //
funciton getName(){ return myName; } //
function theName(){ return myName; }
1.6.3⑤構築関数JavaScriptでは、構造関数は、new演算子の前に冠された関数にすぎず、オブジェクトを作成するために用いられ、構造関数の命名は、大きいラクダピーク命名法(Pascal Case)に従う.
Pascal CaseとCamel Caseはいずれも「ラクダのピークの大きさ」を表しています.二つの違いはPascal Caseが大文字で始まることにあります.したがって、another NameはAnother Nameに置き換えられます.このようにすれば、変数と普通の関数からコンストラクションの名前もしばしば名詞です.これらはあるタイプのインスタンスを作成するために使われます.
//
function Person(name){ this.name = name; } Person.prototype.sayName = function(){ alert(this.name); }
var me = new Person("Nicholas");
1.7.1⑥ 直接量JavaScriptでは、文字列は唯一無二です.文字列はダブルクォーテーションマークで囲むことができます.シングルクォーテーションマークで囲むこともできます.
// JS
var name = "Nicholas says,\"Hi.\""; // JS
var name='Nicholas says, "Hi"'
関心が必要なのは、コードは最初から最後まで一つのスタイルだけを維持するべきです.文字列については、もう一つの問題があります.複数行の文字列を作成します.
//
var longSring = "Here 's the stroy, of a man \
named Bradyh" //
var longString = "Here's the story, of a man " +
"name Bradyh"
複数行の文字列の代わりに、文字列コネクタ(+)を使って文字を複数に分割します.1.7.3⑦null
nullは特殊な値ですが、私たちはよく誤解します.undefinedと混同します.下記の場面でnullを使うべきです.
//
var person = null; //
function getPerson() { if (condition) { return new Person("Nicholas"); } else { return null; } }
//
var person =getPerson(); if (person != null) { doSomething(); }
// :
var person; if (person != null) { doSomething(); }
// :
function doSomething(arg1, arg2, arg3, arg4) { if (arg4 != null) { doSomethingElse(); } }
1.7.5⑧オブジェクト直接量 //
var book=new Object(); book.title = "Maintainable JavaScript"; book.author = "Nicholas C. Zakas";
//
var book = { title:"Maintainable JavaScript", author:"Nicholas C. Zakas" };
//
var colors = new Array("red", "green", "blue"); var numbers = new Array(1, 2, 3, 4);
//
var colors = ["red", "green", "blue"]; var numbers = [1, 2, 3, 4];