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

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

    JavaScript覧 / PC版 /
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter

    751 = :

    ただし、JavaScript 識別子として正しくないプロパティ名にアクセスするには
    ブラケット(角括弧)表記法でのみしかアクセスできないので注意しましょう。

    752 = :

    >>747
    変数名にも制限はないよ

    753 = :

    数字をキーにしても文字列に変換されるんですか?

    754 = :

    >>750
    ありがとうございます!

    755 = :

    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 = :

    >>750
    いや待てwこれが決まりだろw
    「空文字列を含む、文字列に変換できるあらゆるものが使えます。 」

    757 = :

    >>756
    そう、だから「使用できる"文字"に制限はあるか?」という質問に対しては無いだろ

    758 = :

    >>757
    質問はこうだぞ?
    「Objectのkeyに使用できる文字って、制限というか決まりはありますか?」

    759 = :

    nullは使えるんですか?はい論破

    760 = :

    747です。
    もう答えを頂き疑問も解消したのでこれ以上は申し訳ないですが結構です。
    なんだから荒れ気味なので・・・。(ID出しておきます)

    質問の意図を汲んで答えてくださった>>750さんには感謝します。
    また、その他ご解答頂いた皆様もありがとうございました。

    763 = :

    関数も使えるな
    文字じゃないオブジェクトそのものもいけるってことか

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

    Object
    function (){return 10;}: 123
    __proto__: Object

    764 = :

    >>750のようなまともな解答者がいる一方
    見当違いな珍解答をする輩もいて面白いな、このスレ
    俺も何か質問してみるか

    765 = :

    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 = :

    関数使えるのうそや
    これ文字列に変換されてキーになってるな
    nullもたぶん

    a={};
    a[function(){return 10;}] = 123;
    a[null] = 456;
    Object.keys(a) // => ["function (){return 10;}", "null"]

    767 = :

    いや、使える=文字列に変換されるって意味だろこの場合。。。

    768 = :

    キーとして使えるっていうにはobj["null"]とobj[null]が区別されないとね

    769 = :

    >>766
    その意図だとa[function(){}]とa[function(){}]は永遠にイコールになることはないぞ。
    文字列に変換するからこそ使えるわけで

    770 = :

    >>768
    は?何言ってんだお前・・・

    771 = :

    >>769
    実際はイコールになるから、関数オブジェクトがキーになってるわけじゃなくて
    文字列に変換されてキーになってるってことを言ってるんじゃないの?

    772 = :

    単にtoString()されて使われてるだけだろ
    はい論破

    774 = :

    ワロタw

    775 = :

    ハッシュは何故速いのですか?

    778 = :

    toString()じゃなくて、+"" と同じ変換か
    これどっか仕様に載ってる?

    780 = :

    一度だけ言う
    スレタイ嫁

    783 = :

    my $sock=IO::Socket::SSL->new(
    PeerAddr=>'example.com',
    PeerPort=>'110',
    Proto=>'tcp',
    Timeout=>20,
    );

    print $sock 'Hello';

    これをjavascriptでやりたいんですけど
    接続させる方法あってありますか?

    785 = :

    ブラウザのJSは任意のホストとのコネクションは張れん
    やるにはクロスドメインの設定が必要になる
    サーバ側にも設定が必要

    786 = :

    >>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 = :

    >>784-785
    私もnode.jsのsocket.ioだと思ったのですが
    送信したり受信したりを非同期で行いたいのですが
    どのように実装すればいいのでしょうか?

    var socket = io.connect('example.com', {port: 110})
    それでasyncってのを使うと思うのですが教えてください

    788 = :

    バカ
    socket.ioはWebSocketであってTCPSocketじゃねえよ

    789 = :

    >>786
    7.1.8 ToString
    Undefined → "undefined"
    Null → "null"

    やっぱりundefinedやnullもtoStringされてるんじゃん
    ブラウザの挙動だけでは本質は見えないんだよはい論破

    791 = :

    >>788
    そうですか・・・
    これを解決するためにはどんなものを使えばいいのでしょうか?

    792 = :

    いやWebSocketとTCPはレイヤーが違う
    通常TCPってだけだし
    もう一度言うがそもそもレイヤーが違う
    再度言うがレイヤーが違うんだから比較することがおかしい
    転がるタイヤと車を比較してるようなもの

    793 = :

    >>789
    undefinedやnullは
    文字列化されてるだけであって
    toStringは呼び出されてないよ。

    794 = :

    >>791
    何がしたいのか具体的に。
    まず、Node.jsなのかブラウザ上の話なのかわからん。
    クライアントークライアント
    クライアントーサーバー
    サーバーーサーバー
    のどれ?
    具体的にどんなことがしたいの?

    795 = :

    >>789>>793

    789ダッセーwwww

    796 = :

    >>786
    ありがとう、参考になったw
    でもES3にもES5.1にも7.1.8とか見当たらんと思ったら、これES6なのね
    ES5.1だとここだった
    9.1 ToPrimitive
    9.8 ToString

    >>789
    ネタでやってるんだろうけど、それはtoString()メソッドと違うw

    799 = :

    toString()されて使われてるだけだろ
    と述べただけでObject.toString()とは言っていない

    >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一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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