JavaScriptで書いてみよう!
(値、変数、リテラル)

ここでは値、変数、リテラルについて説明します。




    値には以下の種類があります。

    ・数 42、3.14159など
    ・ブーリアン true または false
    ・文字列 "こんにちは"など
    ・ヌル null
    ・未定義 undefined
    整数と実数に厳密な違いはありません。
    日付型はありませんがDateオブジェクトを使うことができます。
    他の基本的な要素としてオブジェクトと関数があります。

    データ型の変換

    JavaScirptではデータの型は自動的に変換されます。


変数

    JavaScriptの変数は英字(a-z,A-Z)またはアンダースコア("_")で始めなければならず、途中には数字(0-9)を含むこともできます。

    変数の定義

    例:
    var x = 42 //グローバル変数ではvarは省略可
    

    変数の評価

    定義されていない変数が評価された場合は実行時エラーになります。
    値を代入されていない変数が評価された場合はundefinedになります。
    undefinedが数として評価されるとNaNになります。
    undefinedがブーリアンとして評価されるとfalseになります。
    nullが数として評価されると0になります。
    nullがブーリアンとして評価されるとfalseになります。

    変数のスコープ(有効範囲)

    関数の外で定義された変数はグローバル変数であり、そのドキュメント内のどこからでもアクセスできます。関数の内で定義された変数はローカル変数であり、その関数内からのみアクセスできます。
    ローカル変数はvarを使用して定義しなければなりません。
    あるウィンドウまたはフレームで定義されたグローバル変数は別のウィンドウまたフレームからアクセスすることができます。


リテラル

    値の代わりにリテラルを使うことができます。リテラルは固定された値であり、変更できません。

    Array(配列)リテラル

    Arrayリテラルは括弧([])によって囲まれた、0以上の数の式の並びです。配列を作成するときにArrayリテラルを使用すれば、配列の要素は値によって初期化され、配列の大きさは与えられた引数の数となります。
    例:
    coffees = ["French Roast", "Columbian", "Kona"]
    Arrayリテラルを用いて、top-levelのスクリプトで定義された配列は、式が評価される毎に定義されます。また、関数の中で使用されたArrayリテラルは、関数が呼び出される毎に定義されます。ArrayリテラルはArrayオブジェクトでもあります。

    Arrayリテラルの中のコンマ

    Arrayリテラルの中では、すべての要素を指定しなければならないわけではありません。
    fish = ["Lion", , "Angel"] //2番目の要素はundefined
    myList = ['home', , 'school', ] //最後のコンマは無視される
    myList = [ , 'home', , 'school'] //配列の大きさは4
    myList = ['home', , 'school', , ] //配列の大きさは4
    

    Boolean(ブーリアン)リテラル

    Booleanリテラルは以下の二つの値しか持ちません。
    true、false
    ブーリアンがtrueまたはfalseであることと、Booleanオブジェクトがtrueまたはfalseであることは別です。

    Floating-Point(浮動小数点数)リテラル

    Floating-Pointリテラルは以下の部分を持ちます。
    ・整数部分整数
    ・小数点
    ・小数部分整数
    ・指数部
    指数部は"e"または"E"に続く整数です。整数には"+"または"-"をつけることができます。Floating-Pointリテラルは少なくとも、ひとつの整数と小数点または"e"(または"E")が必要です。
    例:
    3.1415
    -3.1E12
    .1e12
    2E-12
    

    Integers(整数)

    整数は10進数、16進数、8進数で表現されます。10進数は0以外では始まる数字の並びです。0から始まると8進数を意味します。0x(または0X)で始まると16進数を意味します。16進数は数字(0-9)の他にa-fまたはA-Fを使用します。8進数は数字0-7のみです。
    例:
    42
    0xFFF
    -345.
    

    Object(オブジェクト)リテラル

    Objectリテラルは括弧({})で囲まれた、0以上の数のプロパティ名と値のペアです。Objectリテラルをステートメントの最初に書くとエラーになります。
    car = {myCar: "Saturn", getCar: CarTypes("Honda"), special: Sales}
    //CarTypes()は関数、Salesは変数です。
    

    String(文字列)リテラル

    Stringリテラルはダブルクオート(")またはシングルクオート(')で囲まれた、0以上の数の文字の並びです。
    例:
    "blah" 
    'blah' 
    "1234" 
    "one line \n another line" 
    
    Stringリテラルに対してStringオブジェクトのすべてのメソッドを呼び出すことができます。JavaScriptは自動的にStringリテラルをテンポラリのStringオブジェクトに変換しメソッドを呼び出し、テンポラリのStringオブジェクトを削除します。Stringリテラルに対して、String.lengthプロパティを使うこともできます。
    特にStringオブジェクトを使用する必要がない場合は、Stringリテラルを使用してください。

    特殊文字

    文字列には、普通の文字に加えて特殊文字を含めることもできます。
    例:
    "one line \n another line"
    
    以下は特殊文字のリストです。

    文字 意味
    \b
    バックスペース
    \f
    フォームフィード
    \n
    改行
    \r
    キャリッジリターン
    \t
    タブ
    \'
    シングルクオート
    \"
    ダブルクオート
    \\
    バックスラッシュ(\)
    \XXX
    Latin-1 encodingにおいて、8進数XXXで指定される文字。XXXは0から377。例、\251はコピーライトシンボルを表す。
    \xXX
    Latin-1 encodingにおいて、16進数XXで指定される文字。XXは00からFF。例、\xA9はコピーライトシンボルを表す。
    \uXXXX
    Unicodeにおいて、16進数XXXXで指定される文字。例、\u00A9はコピーライトシンボルを表す。

    エスケープ文字

    上記の表になく、バックスラッシュに続く文字はクオート、バックスラッシュ以外は無視されます。
    文字列にクオートを含めるには以下のようにします。
    例:
    var quote = "I read \"Conversation With God\" by Neal Donald Walsch."
    document.write(quote)
    
    結果は以下のようになります。
    I read "Conversations With God" by Neal Donald Walsch.
    
    文字列にバックスラッシュを含めるには以下のようにします。
    例:
    var home = "c:\\temp"
    
    これは、c:\tempを意味します。

    Unicode

    省略




ホームページへ戻る