のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,490,692人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

    元スレ+ JavaScript の質問用スレッド vol.109 +

    JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    751 : Name_Not - 2013/10/05(土) 15:02:27.69 ID:??? (+13,-14,-34)
    ただし、JavaScript 識別子として正しくないプロパティ名にアクセスするには
    ブラケット(角括弧)表記法でのみしかアクセスできないので注意しましょう。
    752 : Name_Not - 2013/10/05(土) 15:07:03.88 ID:??? (+25,+0,-2)
    >>747
    変数名にも制限はないよ
    753 : Name_Not - 2013/10/05(土) 15:11:03.83 ID:??? (+20,-7,-20)
    数字をキーにしても文字列に変換されるんですか?
    754 : Name_Not - 2013/10/05(土) 15:11:13.35 ID:??? (+36,+10,+1)
    >>750
    ありがとうございます!
    755 : Name_Not - 2013/10/05(土) 15:13:21.69 ID:??? (+5,-30,-41)
    748 Name_Not_Found sage 2013/10/05(土) 14:50:37.31 ID:???
    決まりはあります


    752 Name_Not_Found sage New! 2013/10/05(土) 15:07:03.88 ID:???
    >>747
    変数名にも制限はないよ




    これは酷い・・・
    馬鹿は口を開かないほうがいいわ
    756 : Name_Not - 2013/10/05(土) 15:17:09.12 ID:??? (+100,+29,-42)
    >>750
    いや待てwこれが決まりだろw
    「空文字列を含む、文字列に変換できるあらゆるものが使えます。 」
    757 : Name_Not - 2013/10/05(土) 15:20:59.42 ID:??? (+104,+29,-11)
    >>756
    そう、だから「使用できる"文字"に制限はあるか?」という質問に対しては無いだろ
    758 : Name_Not - 2013/10/05(土) 15:22:53.37 ID:??? (+69,+27,-19)
    >>757
    質問はこうだぞ?
    「Objectのkeyに使用できる文字って、制限というか決まりはありますか?」
    759 : Name_Not - 2013/10/05(土) 15:27:29.55 ID:??? (+46,+23,-15)
    nullは使えるんですか?はい論破
    760 : 747 - 2013/10/05(土) 15:28:41.79 ID:??? (+76,+29,-73)
    747です。
    もう答えを頂き疑問も解消したのでこれ以上は申し訳ないですが結構です。
    なんだから荒れ気味なので・・・。(ID出しておきます)

    質問の意図を汲んで答えてくださった>>750さんには感謝します。
    また、その他ご解答頂いた皆様もありがとうございました。
    761 : 747 - 2013/10/05(土) 15:29:19.19 ID:i7c2daZU (-11,-4,+1)
    ID出し忘れました。
    762 : Name_Not - 2013/10/05(土) 15:30:18.90 ID:??? (-1,-29,-42)
    null,true,false,undefinedは使えるんですか?
    763 : Name_Not - 2013/10/05(土) 15:46:53.77 ID:??? (+3,-30,-53)
    関数も使えるな
    文字じゃないオブジェクトそのものもいけるってことか

    a = {};
    a[function(){return 10;}] = 123;
    console.dir(a);

    Object
    function (){return 10;}: 123
    __proto__: Object
    764 : Name_Not - 2013/10/05(土) 15:47:07.91 ID:??? (+75,+29,-55)
    >>750のようなまともな解答者がいる一方
    見当違いな珍解答をする輩もいて面白いな、このスレ
    俺も何か質問してみるか
    765 : Name_Not - 2013/10/05(土) 15:51:11.69 ID:??? (+3,-30,-169)
    null,true,false,undefinedも使えるな
    変数名には無理だが
    普段意識する事はなかったが、まぁトリビア的な意味で勉強になった

    var obj = {};
    try {
    obj[undefined] = 'undefined';
    obj[null] = 'null';
    obj[true] = 'true';
    obj[false] = 'false';
    obj[/regexo/g] = 'RegExp';
    obj[' '] = 'space';
    obj[' '] = '空白';
    } catch (err) {
    alert(err.message);
    }
    console.log(obj);
    766 : Name_Not - 2013/10/05(土) 15:55:45.15 ID:??? (+7,-30,-56)
    関数使えるのうそや
    これ文字列に変換されてキーになってるな
    nullもたぶん

    a={};
    a[function(){return 10;}] = 123;
    a[null] = 456;
    Object.keys(a) // => ["function (){return 10;}", "null"]
    767 : Name_Not - 2013/10/05(土) 15:58:09.98 ID:??? (+5,-22,-19)
    いや、使える=文字列に変換されるって意味だろこの場合。。。
    768 : Name_Not - 2013/10/05(土) 16:04:32.74 ID:??? (+29,-30,-32)
    キーとして使えるっていうにはobj["null"]とobj[null]が区別されないとね
    769 : Name_Not - 2013/10/05(土) 16:05:19.69 ID:??? (+32,-30,-29)
    >>766
    その意図だとa[function(){}]とa[function(){}]は永遠にイコールになることはないぞ。
    文字列に変換するからこそ使えるわけで
    770 : Name_Not - 2013/10/05(土) 16:07:28.49 ID:??? (+56,+29,-6)
    >>768
    は?何言ってんだお前・・・
    771 : Name_Not - 2013/10/05(土) 16:08:47.73 ID:??? (+61,+28,-40)
    >>769
    実際はイコールになるから、関数オブジェクトがキーになってるわけじゃなくて
    文字列に変換されてキーになってるってことを言ってるんじゃないの?
    772 : Name_Not - 2013/10/05(土) 16:09:57.26 ID:??? (+8,-29,-3)
    単にtoString()されて使われてるだけだろ
    はい論破
    773 : Name_Not - 2013/10/05(土) 16:15:09.43 ID:??? (-1,-29,-30)
    >>772
    >単にtoString()されて使われてるだけだろ

    null や undefined はtoString()できませんが?

    また完全勝利してしまった・・・
    敗北を知りたい
    774 : Name_Not - 2013/10/05(土) 16:18:57.22 ID:??? (+23,+5,+0)
    ワロタw
    775 : Name_Not - 2013/10/05(土) 16:32:07.22 ID:??? (+52,+29,-3)
    ハッシュは何故速いのですか?
    776 : Name_Not - 2013/10/05(土) 16:33:21.24 ID:??? (-2,-30,-35)
    >キーとして使えるっていうにはobj["null"]とobj[null]が区別されないとね

    ???
    区別されるわけねーじゃん
    777 : Name_Not - 2013/10/05(土) 16:36:05.02 ID:??? (-1,-29,-22)
    区別されねえから、実際にキーとして使われるのはnullじゃなくて文字列に変換された"null"だろうって意味だ
    778 : Name_Not - 2013/10/05(土) 16:37:51.10 ID:??? (+4,-29,-34)
    toString()じゃなくて、+"" と同じ変換か
    これどっか仕様に載ってる?
    780 : Name_Not - 2013/10/05(土) 16:53:08.49 ID:??? (+52,+29,-2)
    一度だけ言う
    スレタイ嫁
    781 : Name_Not - 2013/10/05(土) 16:57:15.21 ID:??? (-11,-29,-74)
    >>779
    スレチ
    IDE使ってるならそこで設定できるんじゃね?
    あと、俺の環境ではbatファイル(utf8)からの実行でもちゃんとutf8で読み込まれて問題ない
    782 : Name_Not - 2013/10/05(土) 17:11:39.93 ID:??? (-5,-29,-16)
    >>491
    console.timeで測定できました
    ありがとうございました
    783 : Name_Not - 2013/10/05(土) 17:15:59.41 ID:??? (+8,-30,-85)
    my $sock=IO::Socket::SSL->new(
    PeerAddr=>'example.com',
    PeerPort=>'110',
    Proto=>'tcp',
    Timeout=>20,
    );

    print $sock 'Hello';

    これをjavascriptでやりたいんですけど
    接続させる方法あってありますか?
    784 : Name_Not - 2013/10/05(土) 17:24:27.45 ID:??? (+0,-29,+0)
    node.jsなら可
    785 : Name_Not - 2013/10/05(土) 17:25:19.62 ID:??? (+22,-5,-22)
    ブラウザのJSは任意のホストとのコネクションは張れん
    やるにはクロスドメインの設定が必要になる
    サーバ側にも設定が必要
    786 : Name_Not - 2013/10/05(土) 17:32:51.34 ID:??? (+16,-30,-257)
    >>778

    12.1.5 Object Initialiser
    PropertyName :
    LiteralPropertyName
    ComputedPropertyName

    12.1.5.6 Runtime Semantics: Evaluation
    ComputedPropertyName : [ AssignmentExpression ]
    ・AssignmentExpressionを評価してToPropertyKeyにかける

    7.1.10 ToPropertyKey
    ・タイプがSymbolでなかったらToStringにかける

    7.1.8 ToString
    Undefined → "undefined"
    Null → "null"
    ......
    Object →
    ・ToPrimitiveにStringヒントを与えて呼び出す
    ・返り値を再びToStringにかける

    7.1.1 ToPrimitive
    Stringヒントが渡されて呼ばれた場合 →
    ・まず"toString"メソッドを試して成功すればそれを返して終わる
    ・次に"valueOf"メソッドを試して成功すればそれを返して終わる
    787 : Name_Not - 2013/10/05(土) 17:39:43.70 ID:??? (+2,-30,-112)
    >>784-785
    私もnode.jsのsocket.ioだと思ったのですが
    送信したり受信したりを非同期で行いたいのですが
    どのように実装すればいいのでしょうか?

    var socket = io.connect('example.com', {port: 110})
    それでasyncってのを使うと思うのですが教えてください
    788 : Name_Not - 2013/10/05(土) 17:42:02.49 ID:??? (+29,-29,-14)
    バカ
    socket.ioはWebSocketであってTCPSocketじゃねえよ
    789 : Name_Not - 2013/10/05(土) 17:43:02.67 ID:??? (+19,-30,-66)
    >>786
    7.1.8 ToString
    Undefined → "undefined"
    Null → "null"

    やっぱりundefinedやnullもtoStringされてるんじゃん
    ブラウザの挙動だけでは本質は見えないんだよはい論破
    790 : Name_Not - 2013/10/05(土) 17:43:14.70 ID:??? (-1,-29,-15)
    でもWebSocketはTCPSocketだよ。
    791 : Name_Not - 2013/10/05(土) 17:44:48.79 ID:??? (+97,+29,-21)
    >>788
    そうですか・・・
    これを解決するためにはどんなものを使えばいいのでしょうか?
    792 : Name_Not - 2013/10/05(土) 17:46:33.64 ID:??? (+62,+29,-63)
    いやWebSocketとTCPはレイヤーが違う
    通常TCPってだけだし
    もう一度言うがそもそもレイヤーが違う
    再度言うがレイヤーが違うんだから比較することがおかしい
    転がるタイヤと車を比較してるようなもの
    793 : Name_Not - 2013/10/05(土) 17:47:12.94 ID:??? (+3,-29,-24)
    >>789
    undefinedやnullは
    文字列化されてるだけであって
    toStringは呼び出されてないよ。
    794 : Name_Not - 2013/10/05(土) 17:49:28.84 ID:??? (+74,+28,-58)
    >>791
    何がしたいのか具体的に。
    まず、Node.jsなのかブラウザ上の話なのかわからん。
    クライアントークライアント
    クライアントーサーバー
    サーバーーサーバー
    のどれ?
    具体的にどんなことがしたいの?
    795 : Name_Not - 2013/10/05(土) 17:50:15.98 ID:??? (+0,-29,+0)
    >>789>>793

    789ダッセーwwww
    796 : Name_Not - 2013/10/05(土) 17:51:16.13 ID:??? (+5,-30,-43)
    >>786
    ありがとう、参考になったw
    でもES3にもES5.1にも7.1.8とか見当たらんと思ったら、これES6なのね
    ES5.1だとここだった
    9.1 ToPrimitive
    9.8 ToString

    >>789
    ネタでやってるんだろうけど、それはtoString()メソッドと違うw
    797 : Name_Not - 2013/10/05(土) 17:53:46.52 ID:??? (-1,-29,-8)
    文字列化されているということは実質的にtoString()されていると言えますが?はい論破
    798 : Name_Not - 2013/10/05(土) 17:55:22.88 ID:??? (-1,-29,-42)
    toStringメソッドとToString内部メソッドは違います
    799 : Name_Not - 2013/10/05(土) 18:00:16.78 ID:??? (+3,-29,-34)
    toString()されて使われてるだけだろ
    と述べただけでObject.toString()とは言っていない

    >null や undefined はtoString()できませんが?
    この答えは一つ。出来る。なぜならそうなっているから。
    はい論破。
    800 : Name_Not - 2013/10/05(土) 18:02:48.02 ID:??? (-1,-29,-47)
    そもそも、nullやundefined
    そして数値などの非オブジェクト型には
    toStringメソッドは存在しない。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について