トップ «前の日記(2014-08-29(Fri)) 最新 次の日記(2014-09-02(Tue))» 編集

屑俺日記

僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。


2014-08-31(Sun) めんどいけど晴れてる

お手軽なのはCLI

node.js で適当に。

> var mylist = []
undefined
> mylist
[]
> mylist[3] = 7
7
> mylist
[ , , , 7 ]
> mylist[0]
undefined
> mylist[27]
undefined
> mylist[5] = 'うふふ'
'うふふ'
> mylist
[ , , , 7, , 'うふふ' ]
> mylist[5][2]
'ふ'

配列の性質ざっと。

> jlist = 'あいうえお'
'あいうえお'
> jlist[3]
'え'
> mylist[3] + jlist[2]
'7う'
> jlist[2] * mylist[3]
NaN

数値と文字列の自動変換。

> var obj1 = {x:3, y:'かきくけこ'}
undefined
> obj1
{ x: 3, y: 'かきくけこ' }
> obj1['x']
3
> obj1.y[4]
'こ'

オブジェクトのプロパティにアクセスするのは '.' でも '[]'でも良い...らしい。

関数定義式

サイ本よりちょこっと。
何が有難いのか、今はまだ。

> var func_var = function powr(x) { return x * x };
undefined
> func_var
[Function: powr]
> func_var[3]
undefined
> func_var(3)
9
> powr(3)
ReferenceError: powr is not defined
    at repl:1:1
    at REPLServer.defaultEval (repl.js:133:27)
    at bound (domain.js:254:14)
    at REPLServer.runBound [as eval] (domain.js:267:12)
    at REPLServer. (repl.js:280:12)
    at REPLServer.emit (events.js:107:17)
    at REPLServer.Interface._onLine (readline.js:206:10)
    at REPLServer.Interface._line (readline.js:535:8)
    at REPLServer.Interface._ttyWrite (readline.js:812:14)
    at ReadStream.onkeypress (readline.js:108:10)

この場合、'powr'は無くても有っても同じだった。

オブジェクト少し

よーわからんが。

> obj1 = {}
{}
> obj2 = obj1
{}
> obj1 == obj2
true
> obj1 === obj2
true
> obj1.x = 3
3
> obj2
{ x: 3 }

指しているモノが同じということか。

> obj3 = {}
{}
> obj4 = {}
{}
> obj3 == obj4
false
> obj5 = new Object
{}
> obj4 == obj5
false

同じようで同じでない。

> obj3.foo = 'bar'
'bar'
> obj3
{ foo: 'bar' }
> obj4
{}
> obj5
{}
> obj4.foo = 'bar'
'bar'
> obj4.foo == obj3['foo']
true
> obj4.foo === obj3['foo']
true

'==' と '===' の区別はまた。


リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。

index.htmlは ここから。