演算子について

[新着] Webテンプレートを仮オープンしました



0   名前: グレまま : 2006/03/23 10:39
論理演算子で「x!y」というのをはじめて知りました。
具体的な使い方の例を教えてください。お願いします。

1   名前: m035 : 2006/03/23 10:39  [URL
いわゆるNOT演算子では?
http://www.tohoho-web.com/js/operator.htm#logical
!の次にくる真偽を入れ替えます。
x!yのような使い方は出来ないと思いますが・・・
以下のように使います。

var x=true;
var y=false;
if(!x==y){
/*処理*/
}

2   名前: Pid : 2006/03/23 10:39
>>1 で m035 さんが仰るように否定演算子ですから,x ! y という書式はないと思います(ビット OR 演算子なら x | y ですし…)。

どうでも良い話ですが,たとえば

var a = true, b = 5, c = 5;

function foo () {
  if (a)
    if (b) {
      --c;
      if (c)
        return false;
      else {
        c = b;
        return true;
      }
    } else
      return true;
  } else
    return false;
}

という関数は

function foo () {
  return a && ! (b && (--c || ! (c = b)));
}

とも書けます(書く人はいないでしょうが (^^;))。

3   名前: グレまま : 2006/03/23 10:39
m035さん、Pidさん ご回答ありがとうございました。

http://javascript.eweb-design.com/0102_bsc.html
ここの論理演算子というところにのっていたのですが、実際には
JavaScriptにないのでしょうか。はじめからURLを書いておけばよ
かったのですが、今朝やっと履歴から探しだしました。すみません。
ご覧になっていただければ幸いです。

Pidさん、演算子の具体例ありがとうございます。
面白いですね。

4   名前: Pid : 2006/03/23 10:39
なるほど,確かに

| x!y : xはyではない

と書かれていますが,その意味ならば x != y あるいは x !== y の誤植だと思います(少なくとも ECMA 仕様の範囲内にこのような書式はありませんし,alert (1 ! 2); すると単純に syntax error になります)。

サイト運営者に問い合わせてみてはいかがでしょう。

5   名前: グレまま : 2006/03/23 10:39
Pidさん さっそくありがとうございます。

>と書かれていますが,その意味ならば x != y
>あるいは x !== y の誤植だと思います

でも、わたしの理解が正しければ、 x != yは比較演算子ですよね。
x == y の否定が x != y だと思うのですが。
標準規格にない演算子のようですが、サイトに問い合わせてみます。
ありがとうございました。

一覧へ戻る