「javascript言語の精髄とプログラミングの実践」――javascript演算子の意味の二義性

2676 ワード

1. +  
    ①文字列接続を表します.一つの表式で文字列が存在する場合は、優先的に文字列接続に従って演算します. (原生javascript)
    (2)数字が正を取る1項演算子を表します. +5のように、+は演算子であり、5は演算子である.
    (3)数値の合計と演算を表す.
2. ()
   (1)語句の語法要素
   (2)「伝値パラメータ表」として
   (3)強制式演算用
3.
  (1)直接量の対象のメンバーと宣言ラベル
  (2)switch文で一つの分岐を宣言する
  (3)3要素式で演算子として使用する
4.{}
  (1)複合文を表します.
  (2)宣言対象の直接量
  (3)関数直接量宣言時のシンタックス記号
  (4)構造化異常処理のシンタックス記号
 5.
  (1)は、連続演算子として使用できます.    a=(1,2,3) は3を返します  b=1,2,3 は、3を返します.bに1を割り当てた後です.演算を継続します.その後はconsolie.logs(b=1,2,3)が使えます. //出力は1 2 3です
  (2)配列(または変数)宣言時の構文区切り 
 6.[]
 (1)配列の直接量を宣言する
 (2)アクセス配列の下付き演算子として 
  a=[[1][1]] 一つの[undefined]を得る. 理由は以下の通りです
    最初の[1]は、行列の直接量として、2番目の[1]は、アクセス配列の下付き演算子として機能します.なぜなら、[1]は一つの要素しかないからです.したがって[1][1]はundefinedである. ですから[undefined]をもらいます.
 b=[[1,2,3][2]] //[3]
 c=[][] //エラーが発生しました.2番目はアクセス配列の下付き演算子ですので、インデックス値は空にできません.
 (3)アクセス先としての下付き演算子
   
var table =[

['a',1,2,3]   //        

['b',4,5],

['c',6,7]

]
['a',1,2,3] , ['b',4,5] , ',' , ['b',4,5] => [5]
var table =[

['a',1,2,3][5],

['c',6,7]

]
==> var tabel=[undefined,['c',6,7]]
同じ理屈: =======>
var table = [

['a',1,2]

['b',0,1],

['c',3,4]

]

===>   table = [0,['c',3,4]]









var table = [

['a','b','c']

[1,2],

[4,5,6]

]

====> tabel = ['c',[4,5,6]]



var table = [

['a','b','c']

[1,'length'],

[4,5,6]

]

====> tabel = [3,[4,5,6]]    --->      'length'