「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)アクセス先としての下付き演算子
①文字列接続を表します.一つの表式で文字列が存在する場合は、優先的に文字列接続に従って演算します. (原生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'