初心者のためのホームページ作り:第113号

                  隔週金曜日配信 What's New 2005年4月8日
□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

       初心者のためのホームページ作り/Web for beginner
           http://www.scollabo.com/banban/

                        <第113号>

              banban@scollabo.com

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

  当講座は、初心者が正しい文法と作法を身につけて、魅力的な Webページ作
 成に役立つことを目的に配信されております。

  当講座では HTML4.01、XHTML1.1 を中心とした文法が主体となっています。
 なお、このマガジンは等幅フォントでお読みいただくと快適に読めます。

   今週のコンテンツ
    ■ JavaScript講座 (第24回) --- 演算子
    ■ Tips --- ネットに潜む危険

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

◆JavaScript講座 --- 演算子

 今回は、JavaScriptで扱う演算子を中心に解説します。足し算や引き算、掛け
 算や割り算といった基本的なものから、比較したりなどの論理式に用いる高度
 な計算などで使われる様々な演算子があります。
  基本さえつかめば難しいものではありません。JavaScript独特の演算を理解
 することが早道でしょう。

 ■変数と計算
 例えば簡単な算数を例に挙げて説明します。

    3 + 5 = 8

  この計算式は私たちにとって馴染みのあるものです。計算式=答え、という
 図式は小学校で学んだもので、高等数学でも同じ書式です。つまり、先に式が
 あってその答えが右辺に位置します。

    8 = 3 + 5

  このような式はあまり見受けられませんが、コンピュータの世界、特にプロ
 グラミングの世界では当たり前に利用され、むしろこの方法がどのような開発
 言語であれプログラミングに向いています。

 プログラミングでは式で利用する数値を「変数に代入」する方法がとられます。
 ある値を変数に格納することで「代入」とします。

    a = 5
      b = 3

 この式は aという任意の変数に 5という値を代入しています。また bには 3が
 代入されます。以降、そのプログラムでは aは 5、bは 3として働きます。
  変数の定義は必ず左辺に変数名を置き、その値を右辺に置きます。これで任
 意の変数が作られることになります。
   (逆の書き方をするとコンピュータは計算できません。)

    a = 5
      b = 3
    c = a + b

 この式では、変数a および b に代入された値を合算した上で、その値を c に
 代入しています。
  加算はプラス (+) を、減算はマイナス (-)、掛け算はアスタリスク (*) を
 そして割り算はスラッシュ (/) を演算子として利用します。

 ■代入演算子
 上記で述べたとおり、ある値 (数値や文字列) を変数に格納する場合に利用す
 るのが「代入演算子」です。JavaScriptでは以下のような代入演算子があらか
 じめ定義されています。

   =  (代入) 値を変数に代入する(数値、文字列を含む)
   += (加算) 指定された値を加算して変数に代入する
   -= (減算) 指定された値を減算して変数に代入する
   *= (乗算) 指定された値を乗算 (掛け算) して変数に代入する
   /= (除算) 指定された値を除算 (割り算) して変数に代入する
   %= (余剰) 指定された値で除算し、余りを変数に代入する

  加算代入演算子を使った場合の構文は以下のとおりです。
    a = 5;
    a += 8;
     (あらかじめ a に 5 を代入し、それに 8 を加算しています。)

 ■特殊な演算子
 JavaScriptでは加減乗除のほかにインクリメント、デクリメント、論理演算子
 などの特殊な演算子があらかじめ定義されています。

 □インクリメント、デクリメント
 インクリメントは変数に1つずつ加算し、デクリメントは1つずつ減算します。
  例えば、

   a = 1;
    while( a <= 20 ) {
       a = a + 1;
       }

 この構文は a の値が 20 になるまで同じ処理を繰り返すものです。
  ここでは a の値がループを繰り返すたびに1つずつ加算されています。

   a = a + 1; a の値に1を加えてそれをさらに a に代入する

 インクリメントではこうした冗長的な書き方ではなくプラス記号を2つ重ねま
 す。インクリメントを使うことで構文がずいぶんとスッキリしてきます。

   a = 1;
    while( a <= 20 ) {
       a++;         ← インクリメント
       }

 デクリメントはマイナスを2つ重ねて減算を繰り返します。(例: a--)

 □論理演算子
 論理演算子は「両方が正しい」、「どちらか一方が正しい」、「正しくない」
 など、条件を判別するために用います。主に条件分岐で使う if構文の条件式
 などで使用します。

  論理演算子は以下のものが定義されています。

   && (論理積)  2つ値の論理積を求める(2つが真の場合真とする) 
   || (論理和)  2つ値の論理和を求める 
    ! (論理否定) 指定された値の論理否定を求める 
    ? (条件)   条件が真なら1つ目の文、偽なら2つ目の文を実行する 
    , (カンマ)  2つの式を続けてに実行する 

  例えば以下の構文では、
   if ( a < 5 && b >= 10 ){
          処理
     }

   これは a の値が5以上で、なをかつ10以下の場合に「真」となり処理に
  移ります。2つの論理値により判断する場合に便利です。JavaScriptでは非
  常に多くの場面で利用されています。

 ■比較演算子
 2つの値を比較するための演算子を比較演算子と呼びます。(そのまんまだね)
 数値の大小を比較したり、文字列が一致するかどうかを調べたり、選択された
 値が真 (true) と 偽 (false) のどちらであるかを調べたりします。

  比較演算子は以下のものが定義されています。

   <  (小なり) a < 5 の場合、5未満なら真、5以上なら偽とする
   <=  (以下)  a <= 5 の場合、5以下なら真、5以上なら偽とする
   >  (大なり) a > 5 の場合、5以上なら真、5以下なら偽とする
   <= (以上)  a >= 5 の場合、5以上なら真、5未満なら偽とする
   == (等しい) a == 5 の場合、aが 5なら真、それ以外を偽とする
   !=  (等しくない)  a != 5 の場合、aが 5以外なら真、5なら偽とする

  この比較演算子の中の「等しい」はイコールを2つ重ねます。 (==) この理
 由は1つの場合は「代入」として扱われるので「等しい」という演算ができな
 いためです。
  また、<= や >= は値が同じか未満、あるいは同じか以上を示します。
 例えば、a >= 5 とした場合は、aが 5と同じか 5以上であることを意味します。

 何らかの条件を設定する場合の判断基準として、比較演算子が使われるケース
 は非常に多いようです。文字列の長さや年齢判断、時間別処理などでは比較演
 算子は欠かせません。

 ■まとめ
 スクリプトを作成する上で「演算子」は非常に大切で欠かすことができません。
 日付や時間、角度や長さ、文字列長やその内容などを求めたり判断する場合に
 演算子は有効に働きます。
  JavaScriptを学ぶ上で、各種オブジェクトだけでなく、こうした演算子の基
 本をしっかり覚えることを強くお勧めします。何気ない記号のように見えて、
 その本質や機能は深いものがあります。

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

◆Tips --- ネットに潜む危険

 いまやほとんどのコンピュータがネットワークから切り離されたスタンドアロ
 ン型を見つけることが困難なほどです。言い換えれば、ネットワークに接続さ
 れていることが当たり前になっています。

 特にブロードバンド接続では、高速であると同時に「常時」接続されているわ
 けです。そこで心配なのがセキュリティです。
  自分のコンピュータの中に保存されているデータが、第三者に見られたり盗
 まれてしまうことは怖いことであり避けたいところでもあります。

 代表的なネットワークにおけるリスクはコンピュータ・ウィルスであることは
 ほとんどの人が知っています。データが勝手に削除されたり、コンピュータが
 制御できなくなるなど様々な症状を呈し、人々を困らせています。

 ■ネットワークにおけるリスク
 盗聴やウィルスの他に注目されているリスクに「スパイウェア」と「フィッシ
 ング」があげられます。ユーザが気がつかないうちに大切なデータや情報が奪
 われてしまう非常に巧妙で悪質な実態が報告されています。

 □スパイウェア
 最近のある調査では個人のコンピュータには最低5つ以上のスパイウェアが知
 らないうちにインストールされているといわれています。
  私の子供のコンピュータをチェックしたら何と 100以上ものスパイウェアが
 インストールされていたのです。

 スパイウェアは「トロイの木馬」のように知らないうちに入り込み、ハードデ
 ィスク内の「ある特定」な情報を探し出し送信するという手口があります。ま
 た、キーロガーと呼ばれるスパイウェアはユーザがキーボードから入力される
 すべてを外部に送信するという恐ろしいものさえあります。パスワードやクレ
 ジットカード番号などの重要情報がユーザに知らずに漏れるという事件が後を
 絶ちません。

 □フィッシング
 昨年アメリカで社会問題煮まで発展したリスクで、実在する金融機関の Webサ
 イトを模倣して情報を盗むという手口が代表的です。つい最近日本でも UFJ銀
 行が狙われました。

 金融機関からのメールが届き、情報の更新を案内します。受け取ったユーザは
 そこで示される Webページの URLをクリックします。するといつも取引してい
 る見慣れた金融機関の Webサイトが表示され URLも間違いありません。
  しかし実際には金融機関の Webサーバに接続しているわけではありません。
 悪意を持った何者かがドメインをコントロールしている DNSサーバ内のキャッ
 シュを書き換え、あたかも本物の URLのように見せかけるのです。

 そのサイトで口座番号や暗証番号を疑いもなく入力してしまうことで、膨大な
 被害を被ることになるのです。

 ■ショートメール
 最近非常な勢いで増えているのが卑猥な文章に案内 URLを示した携帯電話向け
 のショートメールです。ついその URLに接続すると「登録されました」などと
 表示するページにつながり電話番号をキャッチされます。その後法外な額の請
 求メールが来ることは明白です。

 ■リスクに対するセキュリティ
 現在ではウィルス対策ソフトの中でスパイウェアに対応したソフトウェアが数
 多く市販されています。被害を受ける前に自分の環境に見合うソフトを入手し
 てインストールしておきましょう。
  決して安い買い物ではありませんが、安全を手に入れる投資と考えましょう。

 見知らぬメールや甘い言葉に惑わされないことも重要です。わけのわからない
 メールは即刻削除することが肝心です。またメールが持つフィルター機能を利
 用することも防衛策となるでしょう。

 フィッシング・メールに対応する機能を持ったセキュリティソフトもちらほら
 見受けられるようになりましたが、肝要なことは Web上でパスワードや暗証番
 号、クレジット番号の入力を促すサイトは要注意です。ほとんどの金融機関で
 は Web上で各種番号などを確認することはありません。

 スパイウェアもフィッシング詐欺も被害は甚大です。大切な個人情報は個人が
 自ら守るという気概を身につけなくてはなりません。
  ネットワークという便利を手に入れる代わりに、様々なリスクも同時に手に
 入れるという事実に目をそらしてはいけません。

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

今回はここまで。

 今週のおさらいは Webページにも掲載しましたので、是非参考までに見ておい
 てください。
  Webページでは HTML文の実行結果のサンプルもあり、より分かりやすく説明
 しています。あわせて過去の記事のおさらいも掲載しています

 (今週のおさらい)
  http://www.scollabo.com/banban/magazine/review_113.html

  次回は、4月22日に配信を予定しています。

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

◆質問・ご意見ははこちらまで→ banban@scollabo.com

 なお、ご質問の際には、あなたがお使いのOS、ブラウザ、テキストエディタな
 ど、なるべく分かりやすく制作環境を明記していただけると回答しやすくなる
 と思います。
  ただし、個人的な事由により返事が遅れることがあります。ご了承ください。
 お急ぎの場合には、当サイト内の掲示板をご利用ください。きっと誰かが答え
 てくれると思います。

 発行者 ばんばん
 協力  スズキ・コラボレーション http://www.scollabo.com/
 配信エンジン まぐまぐ http://www.mag2.com/  (ID 0000090196)

  誤字・脱字・変換ミス・表現欠乏などには、平にご容赦願います。

 ■バックナンバー こちらで公開しています。
 プレーンテキスト  http://www.scollabo.com/banban/magazine.html
 各号のおさらい  http://www.scollabo.com/banban/magazine/
 アーカイブ    http://www.scollabo.com/banban/daf/archive.html
 まぐまぐ     http://backno.mag2.com/reader/Back?id=0000090196

 ■配信の変更・中止はこちらです。
 個別の手続きは受け付けていませんので、ご面倒でも各自でお願いできれば助
 かります。
  当サイトにて http://www.scollabo.com/banban/magazine/top.html
  まぐまぐにて http://www.mag2.com/m/0000090196.htm

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

<えでぃた〜ず・る〜む>

 当地では桜祭りが終わってから桜が咲き始めたという皮肉な現象が起きていま
 す。どこでも同じように桜の開花が遅れた様子が伺えます。冬の寒さが例年に
 なく長かったのが原因らしいですね。

 桜が咲き始めると心が浮つきだして、何となくうれしい気分になります。きっ
 とそれは春の時期にはいつも同じように、何かが始まるような期待感が高まる
 からなのでしょう。

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

◆著作権について
 個人がご自分のPCに保存して利用する以外の記事の転載、引用は基本的に応
 じておりません。記事中の内容について、無断で使用することを固く禁じます。
  なお、記事中のスタイルシート、スクリプト、HTMLをご自分のページ作成に
 自由に使っていただいても差し支えありません。

            Copyright(C) 2002-2005  www.scollabo.com/banban/
□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□


This page is Valid HTML 4.01! 最新公開日 2005年7月28日
Copyright(C) 2002-2004 banban@scollabo.com