私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ+ JavaScript の質問用スレッド vol.140 +
JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
5ではjquery抜きのついでにIE11サポートもやめるんだろ?
つまり(日本では)仕事では使えない、役立たずFWってことだな
つまり(日本では)仕事では使えない、役立たずFWってことだな
使いたい層が一定以上見込めるなら、しかるべきベンダが保守するだろ
ライセンス上は、保守によるパッチを公開する義務ないだろ
GPL じゃないんだし
ライセンス上は、保守によるパッチを公開する義務ないだろ
GPL じゃないんだし
人に基本的なとこ説明する必要があって、各種プリミティブ型は箱モデル、オブジェクト(配列含む)はラベルモデルで説明しようと思ったんだけど、個人的に文字列について基礎的なとこ分かってないことが明らかになったのでちょっと教えて下さい。
1)文字列を数値や真偽値と同様箱モデルで捉えることに問題はないですか?
2)let a = '文字列', b = '文字列';であるとき、
a === bの結果は当然trueですが、aの指す'文字列'とbの指す'文字列'はメモリ上同一オブジェクトですか?つまり実態はアドレスを比較しているだけ?
そしてそれはesの仕様で決まっているのですか?それとも実装に任されているのですか?
よろしくお願いします。
1)文字列を数値や真偽値と同様箱モデルで捉えることに問題はないですか?
2)let a = '文字列', b = '文字列';であるとき、
a === bの結果は当然trueですが、aの指す'文字列'とbの指す'文字列'はメモリ上同一オブジェクトですか?つまり実態はアドレスを比較しているだけ?
そしてそれはesの仕様で決まっているのですか?それとも実装に任されているのですか?
よろしくお願いします。
文字列は、数値型と同じで、オブジェクトじゃなくて、primitive。
参照を持っていないので、代入しても、参照ではなく、値が代入される。
書き込みできないオブジェクト
str[ 1 ] で、参照はできるけど、代入はできない
str = 'abc';
console.log( str[ 1 ] ); // b
参照を持っていないので、代入しても、参照ではなく、値が代入される。
書き込みできないオブジェクト
str[ 1 ] で、参照はできるけど、代入はできない
str = 'abc';
console.log( str[ 1 ] ); // b
http://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String#Character_access
ブラケット記法を使用した文字アクセスでは、これらのプロパティに値を設定したり削除したりすることはできません。関連したプロパティは書き込みも設定もできません。
ブラケット記法を使用した文字アクセスでは、これらのプロパティに値を設定したり削除したりすることはできません。関連したプロパティは書き込みも設定もできません。
ESでは値は原則消されることも無ければ複製されることもない
新しい値ができることと、
それに新しい名前が付けられ共有されることの繰り返しで成り立っている
ただし他の多くのメジャーな言語とは違い実装と事と仕様は原則綺麗に分離されている
実装では例えば原則参照の値渡し
ただしアドレス値に埋め込めるSMIはそのまま使うなどの
多くの人間的な工夫をした上で、
更に機械的な最適化段階を通すので
ロジック的な意味合いを考えるのは無益
新しい値ができることと、
それに新しい名前が付けられ共有されることの繰り返しで成り立っている
ただし他の多くのメジャーな言語とは違い実装と事と仕様は原則綺麗に分離されている
実装では例えば原則参照の値渡し
ただしアドレス値に埋め込めるSMIはそのまま使うなどの
多くの人間的な工夫をした上で、
更に機械的な最適化段階を通すので
ロジック的な意味合いを考えるのは無益
>>305-306からのレスはないようだから、もう見てないのだろう
回答する必要はない
回答する必要はない
>>311
えぇ…
文字列どころかプリミティブ値全部イミュータブルなのね、衝撃だわ…
Cと全然違うんだね。
じゃJavaScriptでは変数を箱モデルで説明すんのは厳密には間違いなんだね。
これからはラベルモデルで説明するわ。
mdnにこんなページあったのか…
えぇ…
文字列どころかプリミティブ値全部イミュータブルなのね、衝撃だわ…
Cと全然違うんだね。
じゃJavaScriptでは変数を箱モデルで説明すんのは厳密には間違いなんだね。
これからはラベルモデルで説明するわ。
mdnにこんなページあったのか…
ワッチョイ出てない質問者は自演で回答に文句いいそうで怖い
「もういない」と指摘された途端に出てくるのもね…
「もういない」と指摘された途端に出てくるのもね…
>>319
プログラム板でC言語と混同してる疑いが持たれた奴がいたが、同一人物じゃないかね
http://mevius.5ch.net/test/read.cgi/tech/1491143438/148-
プログラム板の奴は「解決したら放置、追加質問があるならレス」だった
このスレの奴は「いることをアピール」すれば、追加情報が得られそうなので出てきた
情報搾取する輩は無視して良し
プログラム板でC言語と混同してる疑いが持たれた奴がいたが、同一人物じゃないかね
http://mevius.5ch.net/test/read.cgi/tech/1491143438/148-
プログラム板の奴は「解決したら放置、追加質問があるならレス」だった
このスレの奴は「いることをアピール」すれば、追加情報が得られそうなので出てきた
情報搾取する輩は無視して良し
プリミティブはイミュータブルとか見当違いのレスばかり
実際にはJSにそのような制限はない、実質的にそう考えても矛盾はしないというだけ
ラッパーオブジェクトの内部プロキシが吐くディスクリプタが書き込み禁止になっているだけ
実際にはJSにそのような制限はない、実質的にそう考えても矛盾はしないというだけ
ラッパーオブジェクトの内部プロキシが吐くディスクリプタが書き込み禁止になっているだけ
そんな事を言うと、JavaScriptで変数を箱モデルで説明すればいいのか
ラベルモデルで説明すればいいのか、わかんなくなるだろw
説明を実装で変えるような馬鹿だからな
ラベルモデルで説明すればいいのか、わかんなくなるだろw
説明を実装で変えるような馬鹿だからな
>>322
> プリミティブはイミュータブルとか見当違いのレスばかり
http://ja.wikipedia.org/wiki/Flyweight_%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3
この記述と整合性の取れる説明を、サンプルコードを示しながら書いて貰えんもんかねえ
> プリミティブはイミュータブルとか見当違いのレスばかり
http://ja.wikipedia.org/wiki/Flyweight_%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3
この記述と整合性の取れる説明を、サンプルコードを示しながら書いて貰えんもんかねえ
>>324
サンプルコードとか何いってんの?
あるコードがこういう挙動示すのは、どういう意味合いでどういう仕組みなのかって話をしてるでしょ
内部の話をする所で表層のサンプルコードもクソもないでしょ
ただ単純に、ES仕様やブラウザの内部実装を見ればいいだけでしょ
サンプルコードとか何いってんの?
あるコードがこういう挙動示すのは、どういう意味合いでどういう仕組みなのかって話をしてるでしょ
内部の話をする所で表層のサンプルコードもクソもないでしょ
ただ単純に、ES仕様やブラウザの内部実装を見ればいいだけでしょ
>>325
サンプルコードすら示せないのであれば
「MDN の記載を見当違いと言い張る」大嘘吐き扱いになるのですが
それでも構わない、と?
あと私は質問者じゃないので
ちゃんとワッチョイなり ID なり確認されたく。
サンプルコードすら示せないのであれば
「MDN の記載を見当違いと言い張る」大嘘吐き扱いになるのですが
それでも構わない、と?
あと私は質問者じゃないので
ちゃんとワッチョイなり ID なり確認されたく。
>>329
うん
質問じゃないよ
MDNの記述と真っ向から矛盾することを書いておいて、サンプルコードすら示せないってありえないじゃん
説明する責任はソッチ
なので、説明を求められるのは当然であって、それは「質問」じゃない
うん
質問じゃないよ
MDNの記述と真っ向から矛盾することを書いておいて、サンプルコードすら示せないってありえないじゃん
説明する責任はソッチ
なので、説明を求められるのは当然であって、それは「質問」じゃない
さて、大嘘吐きさんは逃亡したようですね
「プリミティブラッパーオブジェクト」 (See:http://developer.mozilla.org/ja/docs/Glossary/Primitive )と混同している気配はあったかな
>>332
ワッチョイも無し、IDも無しで言われても…
ブーメランの可能性は自覚しているのかなあ
「俺が>>322の説明責任を負ういわれはない」と断言できる根拠が無いのですね
あと、現代日本語を逐語解釈しても「疑問」と「反語」は区別できないので念のため
>>324 を逐語解釈した場合、さて、どうなるんでしょうねえ
「プリミティブラッパーオブジェクト」 (See:http://developer.mozilla.org/ja/docs/Glossary/Primitive )と混同している気配はあったかな
>>332
ワッチョイも無し、IDも無しで言われても…
ブーメランの可能性は自覚しているのかなあ
「俺が>>322の説明責任を負ういわれはない」と断言できる根拠が無いのですね
あと、現代日本語を逐語解釈しても「疑問」と「反語」は区別できないので念のため
>>324 を逐語解釈した場合、さて、どうなるんでしょうねえ
>>333
相変わらず、煽り続けるので「荒らし」と確定した
相変わらず、煽り続けるので「荒らし」と確定した
荒らしとか言いながらお前らそれを一番楽しんでんじゃん
ミイラ取りがミイラになってもなおミイラ取りするみたいな
ミイラ取りがミイラになってもなおミイラ取りするみたいな
多分、彼には「君子危うきに近寄らず」で敬遠された自覚はないと思う
>>333
混同も何もブラケット演算子を適応した場合は
一時的にラッパーオブジェクトが作られそれへの操作になるんだが
常識だろう
だからそれに対する挙動を持ってプリミティブ型の性質を語るのはちゃんちゃらおかしい
str[n]=hoge
が働かないというのはまず、StringObjectの性質であって
Stringプリミティブ型の制限ではない
JSではプリミティブ型を書き換える手段が提供されていないというのが正しいのであって
プリミティブはイミュータブルと決まっているわけではない
ESは様々な拡張が許されており、仮にイミュータブルが書き換え可能でも
その他の部分で矛盾や不都合は発生しない
あと、仕様の話でMDNを見るな、ここを見て語れ
http://tc39.es/ecma262
混同も何もブラケット演算子を適応した場合は
一時的にラッパーオブジェクトが作られそれへの操作になるんだが
常識だろう
だからそれに対する挙動を持ってプリミティブ型の性質を語るのはちゃんちゃらおかしい
str[n]=hoge
が働かないというのはまず、StringObjectの性質であって
Stringプリミティブ型の制限ではない
JSではプリミティブ型を書き換える手段が提供されていないというのが正しいのであって
プリミティブはイミュータブルと決まっているわけではない
ESは様々な拡張が許されており、仮にイミュータブルが書き換え可能でも
その他の部分で矛盾や不都合は発生しない
あと、仕様の話でMDNを見るな、ここを見て語れ
http://tc39.es/ecma262
あと抽象的だのなんだの言ってる奴が居るがこれもまたちゃんちゃらおかしい
仕様書を読めば分かるが仕様書というのは基本的に自然言語で書いてあるのだから
こういう捉え方しかできないというところもあれば、色々な捉え方ができるところもある
特にESの仕様書というのは物理マシンや実装エンジンの世界を殆ど持ち出さずに
正にESというものの概念を定義してるのだから抽象的であるに決まりきっている
ES仕様で最も多く使われているlet~beなどという言葉だってその挙動をどう捉えるかは難しい
少なくともa is bはbが複写されてaとする、と考えると矛盾する
だからここはbにaという新しい名前を付けると解釈しないといけない
そういったa is bが何十何百何千積み重なって多くのロジックを形成してるので
つまるところESの変数の仕組みだって名付けの連鎖だと帰着できる
一方ESに削除や複写が殆ど無いこともこうやって全てのロジックを追っていけば分かる
勿論そういう概念にこだわっても物理マシンや実装エンジンの世界では無益に近いが
ESの仕様をできる限り忠実に語ろうとするのであればそういう無益な話をせざるを得ない
仕様書を読めば分かるが仕様書というのは基本的に自然言語で書いてあるのだから
こういう捉え方しかできないというところもあれば、色々な捉え方ができるところもある
特にESの仕様書というのは物理マシンや実装エンジンの世界を殆ど持ち出さずに
正にESというものの概念を定義してるのだから抽象的であるに決まりきっている
ES仕様で最も多く使われているlet~beなどという言葉だってその挙動をどう捉えるかは難しい
少なくともa is bはbが複写されてaとする、と考えると矛盾する
だからここはbにaという新しい名前を付けると解釈しないといけない
そういったa is bが何十何百何千積み重なって多くのロジックを形成してるので
つまるところESの変数の仕組みだって名付けの連鎖だと帰着できる
一方ESに削除や複写が殆ど無いこともこうやって全てのロジックを追っていけば分かる
勿論そういう概念にこだわっても物理マシンや実装エンジンの世界では無益に近いが
ESの仕様をできる限り忠実に語ろうとするのであればそういう無益な話をせざるを得ない
>>340
同意だが、何をいっても煽られるのが目に見えているので、説明する時間が勿体ないと思う
同意だが、何をいっても煽られるのが目に見えているので、説明する時間が勿体ないと思う
ん…?
>>340
> ブラケット演算子を適応した場合は
> 一時的にラッパーオブジェクトが作られそれへの操作になる
http://www.ecma-international.org/ecma-262/6.0/
を square bracket や bracket notation で検索するも見当たらないですね
12.3.2 Property Accessors
> Properties are accessed by name, using either the dot notation:
...
> or the bracket notation:
> MemberExpression [ Expression ]
> CallExpression [ Expression ]
という記述があるのみ
>>340
> ブラケット演算子を適応した場合は
> 一時的にラッパーオブジェクトが作られそれへの操作になる
http://www.ecma-international.org/ecma-262/6.0/
を square bracket や bracket notation で検索するも見当たらないですね
12.3.2 Property Accessors
> Properties are accessed by name, using either the dot notation:
...
> or the bracket notation:
> MemberExpression [ Expression ]
> CallExpression [ Expression ]
という記述があるのみ
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
みんなの評価 : 類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.141 + (881) - [97%] - 2021/4/19 9:00
- + JavaScript の質問用スレッド vol.120 + (1002) - [97%] - 2014/11/8 1:15
- + JavaScript の質問用スレッド vol.130 + (1001) - [97%] - 2017/11/25 20:45
- + JavaScript の質問用スレッド vol.110 + (1001) - [97%] - 2013/10/13 14:01
- + JavaScript の質問用スレッド vol.130 + (974) - [97%] - 2016/10/26 14:18
- + JavaScript の質問用スレッド vol.142 + (984) - [97%] - 2020/8/27 19:15
- + JavaScript の質問用スレッド vol.142 + (926) - [97%] - 2019/12/23 13:15
- + JavaScript の質問用スレッド vol.141 + (1001) - [97%] - 2019/9/22 23:15
- + JavaScript の質問用スレッド vol.100 + (1001) - [97%] - 2012/6/13 22:46
- + JavaScript の質問用スレッド vol.143 + (753) - [97%] - 2020/4/19 5:00
- + JavaScript の質問用スレッド vol.144 + (288) - [97%] - 2020/5/17 20:00
- + JavaScript の質問用スレッド vol.123 + (966) - [95%] - 2020/10/20 2:30
- + JavaScript の質問用スレッド vol.122 + (116) - [95%] - 2018/5/2 18:30
- + JavaScript の質問用スレッド vol.122 + (1004) - [95%] - 2015/2/14 4:45
- + JavaScript の質問用スレッド vol.115 + (1001) - [95%] - 2014/5/29 16:16
- + JavaScript の質問用スレッド vol.121 + (1001) - [95%] - 2022/11/29 16:30
- + JavaScript の質問用スレッド vol.119 + (1002) - [95%] - 2014/10/3 15:30
トップメニューへ / →のくす牧場書庫について