元スレ+ JavaScript の質問用スレッド vol.109 +
JavaScript覧 / PC版 /みんなの評価 :
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 = :
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()できませんが?
この答えは一つ。出来る。なぜならそうなっているから。
はい論破。
類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.108 + (1001) - [97%] - 2013/9/21 15:16
- + JavaScript の質問用スレッド vol.100 + (1001) - [97%] - 2012/6/13 22:46
- + JavaScript の質問用スレッド vol.101 + (1001) - [97%] - 2012/7/16 14:15
- + JavaScript の質問用スレッド vol.102 + (1001) - [97%] - 2012/9/11 17:30
- + JavaScript の質問用スレッド vol.103 + (1001) - [97%] - 2012/11/9 15:30
- + JavaScript の質問用スレッド vol.104 + (1001) - [97%] - 2013/1/28 4:00
- + JavaScript の質問用スレッド vol.105 + (1001) - [97%] - 2013/5/20 4:45
- + JavaScript の質問用スレッド vol.139 + (1001) - [97%] - 2019/5/27 15:15
- + JavaScript の質問用スレッド vol.106 + (1001) - [97%] - 2013/7/20 9:30
- + JavaScript の質問用スレッド vol.107 + (1001) - [97%] - 2013/9/7 10:16
- + JavaScript の質問用スレッド vol.119 + (1002) - [97%] - 2014/10/3 15:30
- + JavaScript の質問用スレッド vol.129 + (926) - [97%] - 2017/7/27 13:45
- + JavaScript の質問用スレッド vol.129 + (981) - [97%] - 2016/5/5 8:16
- + JavaScript の質問用スレッド vol.122 + (116) - [95%] - 2018/5/2 18:30
- + JavaScript の質問用スレッド vol.121 + (1001) - [95%] - 2015/1/1 18:30
- + JavaScript の質問用スレッド vol.122 + (1004) - [95%] - 2015/2/14 4:45
- + JavaScript の質問用スレッド vol.141 + (881) - [95%] - 2021/4/19 9:00
トップメニューへ / →のくす牧場書庫について