私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ+ JavaScript の質問用スレッド vol.134 +
JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
というかだなfunctionの名前のように
関数名がその関数オブジェクトの.nameになるってのは思いつくけど、
関数を入れた変数名が、関数名になるなんて仕様普通思いつかないよ
匿名関数はデバッグが面倒になるので
どうにかして名前をつけられないか?という
方針で考えてやっと思いつけるってもんだ
仕様になるのが遅れるのも当然
関数名がその関数オブジェクトの.nameになるってのは思いつくけど、
関数を入れた変数名が、関数名になるなんて仕様普通思いつかないよ
匿名関数はデバッグが面倒になるので
どうにかして名前をつけられないか?という
方針で考えてやっと思いつけるってもんだ
仕様になるのが遅れるのも当然
仕様は遅れては居ないが実装が遅れてるのかもな
仕様の該当箇所はここか
http://www.ecma-international.org/ecma-262/6.0/#sec-assignment-operators-runtime-semantics-evaluation
e. If IsAnonymousFunctionDefinition ~~
仕様の該当箇所はここか
http://www.ecma-international.org/ecma-262/6.0/#sec-assignment-operators-runtime-semantics-evaluation
e. If IsAnonymousFunctionDefinition ~~
firefoxってアホみたいに(褒め言葉)早く正確に仕様通りに実装するUAじゃなかったっけ
contenteditableな要素にクリップボードをペーストする前に
リッチテキストをプレーンなテキストに変換しようと思い、
onPasteイベントの中でclipboardDataにsetDataしたのですが、反映しません
ペースト時にclipboardDataに書き込むことは出来ないのでしょうか?
リッチテキストをプレーンなテキストに変換しようと思い、
onPasteイベントの中でclipboardDataにsetDataしたのですが、反映しません
ペースト時にclipboardDataに書き込むことは出来ないのでしょうか?
http://teratail.com/questions/88915
これを思い出した。
関数宣言→「変数の実体化」で変数定義が巻き上げられる
変数宣言(var)→「変数の実体化」で巻き上げられる
let,const→「変数の実体化」で巻き上げられるが、TDZでは参照不可
アロー関数→即時呼び出しor変数宣言に含めることしかできない
関数式→即時呼び出しor変数宣言に含めることしかできない
「変数の実体化」はES3当時の表現だが、分かりやすいのでつい使ってしまう。
ES2017ではこの文言はどう変わってるんだったか。
これを思い出した。
関数宣言→「変数の実体化」で変数定義が巻き上げられる
変数宣言(var)→「変数の実体化」で巻き上げられる
let,const→「変数の実体化」で巻き上げられるが、TDZでは参照不可
アロー関数→即時呼び出しor変数宣言に含めることしかできない
関数式→即時呼び出しor変数宣言に含めることしかできない
「変数の実体化」はES3当時の表現だが、分かりやすいのでつい使ってしまう。
ES2017ではこの文言はどう変わってるんだったか。
>>59
いや、JS2.0とかやってた名残で当初は早いようにも見えたけど
実際は独自実装の非互換性問題とかもあったし、ここ2年くらいはChromeの方が実装早いよ
>>61
難しく考えずとも、変数とはスコープオブジェクトのプロパティのようなものだ
そのスコープにぶら下がる変数はスコープに入る時に全て作られる
そういうことをしなければ。スコープ外でlet aと定義していてスコープ内で同じくlet aと定義している場合、
スコープ内のlet aに達するまでにaを参照した場合スコープ外のaを参照する挙動になってしまう
あるいはそういう挙動でも良かったのかもしれないが、JSではその挙動を是としていないため、
スコープ内で作られる変数はそのスコープに入った段階で作られることになる
仕様での用語としては「CreateBinding」で、スコープ(Environment Record)に対して値を紐付けるための名前を作る作業がある
そしてその変数宣言文に実行が達したら「InitializeBinding」で、値が初期化される
それまでに変数を利用しようとした場合は例外となる
要するに変数の状態としては「created」かどうかと、「initialized」かどうかの2つを考えればいいだけ
関数宣言に関してはブロックが評価される時に、通常の宣言であればcreateされるだけのところを追加でinitializeされるというだけ
いや、JS2.0とかやってた名残で当初は早いようにも見えたけど
実際は独自実装の非互換性問題とかもあったし、ここ2年くらいはChromeの方が実装早いよ
>>61
難しく考えずとも、変数とはスコープオブジェクトのプロパティのようなものだ
そのスコープにぶら下がる変数はスコープに入る時に全て作られる
そういうことをしなければ。スコープ外でlet aと定義していてスコープ内で同じくlet aと定義している場合、
スコープ内のlet aに達するまでにaを参照した場合スコープ外のaを参照する挙動になってしまう
あるいはそういう挙動でも良かったのかもしれないが、JSではその挙動を是としていないため、
スコープ内で作られる変数はそのスコープに入った段階で作られることになる
仕様での用語としては「CreateBinding」で、スコープ(Environment Record)に対して値を紐付けるための名前を作る作業がある
そしてその変数宣言文に実行が達したら「InitializeBinding」で、値が初期化される
それまでに変数を利用しようとした場合は例外となる
要するに変数の状態としては「created」かどうかと、「initialized」かどうかの2つを考えればいいだけ
関数宣言に関してはブロックが評価される時に、通常の宣言であればcreateされるだけのところを追加でinitializeされるというだけ
>>64
だからそれも書いてるじゃん
変数周りの仕様としては「created」と「initialized」しか無いって
関数宣言は「Hoistable」に含まれるわけだけど、それは「created」されて「initialized」されるということでしかない
「実体化」などという表現や概念は存在しない
だからそれも書いてるじゃん
変数周りの仕様としては「created」と「initialized」しか無いって
関数宣言は「Hoistable」に含まれるわけだけど、それは「created」されて「initialized」されるということでしかない
「実体化」などという表現や概念は存在しない
React Angular Polymer Vueなんかのフレームワークと
jQueryって同じフレームワークでもなんか別物のような気がするんですが
これらは出来ることは同じなのでしょうか?
jQueryって同じフレームワークでもなんか別物のような気がするんですが
これらは出来ることは同じなのでしょうか?
>>67
一時情報源だけ知りたいのなら自分で仕様を読めばいいじゃない
http://tc39.github.io/ecma262/
俺もあんたのためにきちんと仕様を読みながら噛み砕いて説明したんだからさ
それをそんな言い方されちゃもうどうしようもないね
一時情報源だけ知りたいのなら自分で仕様を読めばいいじゃない
http://tc39.github.io/ecma262/
俺もあんたのためにきちんと仕様を読みながら噛み砕いて説明したんだからさ
それをそんな言い方されちゃもうどうしようもないね
>>67
と言うかそこでいう実体化っていうのは、「コンテキストの実体化」だからね
静的なコードという型からその時に使う生きた状態を生成する
つまりインスタンス化するというニュアンスだから
「実行コンテキスト」の項にあるでしょ?
その「変数の実体化」っていうのは今話してる変数の状態や「有効化」の話とは軸がずれている
静的な定義らから生きた変数インスタンスを作るというニュアンスの話
そしてやっぱりちょっと妙な表現でもあるから今の仕様では使われてないよ
と言うかそこでいう実体化っていうのは、「コンテキストの実体化」だからね
静的なコードという型からその時に使う生きた状態を生成する
つまりインスタンス化するというニュアンスだから
「実行コンテキスト」の項にあるでしょ?
その「変数の実体化」っていうのは今話してる変数の状態や「有効化」の話とは軸がずれている
静的な定義らから生きた変数インスタンスを作るというニュアンスの話
そしてやっぱりちょっと妙な表現でもあるから今の仕様では使われてないよ
>>68
jQueryはライブラリであってフレームワークではありませんよ
それを使っているプログラマが、それを呼び出すコードを書くのがライブラリ
呼び出されるコードを書くのがフレームワークだと誰かが言っていました
jQueryはライブラリであってフレームワークではありませんよ
それを使っているプログラマが、それを呼び出すコードを書くのがライブラリ
呼び出されるコードを書くのがフレームワークだと誰かが言っていました
>>69
> 俺もあんたのためにきちんと仕様を読みながら噛み砕いて説明したんだからさ
尋ねてもいない事をあなたが勝手に誤解してお節介しただけだろう
「ES2017ではこの文言はどう変わってるんだったか」とちょっとした疑問を口にしただけで、なぜそこまで絡んでくるのか
しかも、なぜか「あなたの言葉」で返ってくる始末
> 俺もあんたのためにきちんと仕様を読みながら噛み砕いて説明したんだからさ
尋ねてもいない事をあなたが勝手に誤解してお節介しただけだろう
「ES2017ではこの文言はどう変わってるんだったか」とちょっとした疑問を口にしただけで、なぜそこまで絡んでくるのか
しかも、なぜか「あなたの言葉」で返ってくる始末
>>72も自分なので、念のため
>>70
> その「変数の実体化」っていうのは今話してる変数の状態や「有効化」の話とは軸がずれている
俺からすれば、俺が書いた「独り言(>>61)」にあなたが勝手に絡んできただけなんだがな
で、俺の趣旨は「宣言が巻き上げされるのではなく、宣言した結果、実体化される変数初期化処理が巻き上がる」
変数宣言も関数宣言も巻き上げなんて発生していない
関数スコープにある変数は、実行コンテキストに入る段階で「変数が実体化」されるだけだ
「変数の実体化」がES3の用語である事は61で書いた通り
で、俺は「ES2017ではこの文言はどう変わってるんだったか」と書いた
詳しくは読んでいないが、おそらく関係するにはこの辺りで、俺が欲しいのは「ES2017の文言」
http://www.ecma-international.org/ecma-262/8.0/#sec-executable-code-and-execution-contexts
あなたはなぜか「あなたの言葉」で説明してきた
そして、一時情報源を求めたら、なぜか ES2019http://tc39.github.io/ecma262/ を持ち出してきた
仕様書は必要になれば読むが、今の時点でそこまで切羽詰まって読む必要性はない
ただの独り言で誰かに答えてもらう事を期待していたわけでもない
答えてくれるのは有り難いが、俺への返信は全てピントがずれているんだよ
>>70
> その「変数の実体化」っていうのは今話してる変数の状態や「有効化」の話とは軸がずれている
俺からすれば、俺が書いた「独り言(>>61)」にあなたが勝手に絡んできただけなんだがな
で、俺の趣旨は「宣言が巻き上げされるのではなく、宣言した結果、実体化される変数初期化処理が巻き上がる」
変数宣言も関数宣言も巻き上げなんて発生していない
関数スコープにある変数は、実行コンテキストに入る段階で「変数が実体化」されるだけだ
「変数の実体化」がES3の用語である事は61で書いた通り
で、俺は「ES2017ではこの文言はどう変わってるんだったか」と書いた
詳しくは読んでいないが、おそらく関係するにはこの辺りで、俺が欲しいのは「ES2017の文言」
http://www.ecma-international.org/ecma-262/8.0/#sec-executable-code-and-execution-contexts
あなたはなぜか「あなたの言葉」で説明してきた
そして、一時情報源を求めたら、なぜか ES2019http://tc39.github.io/ecma262/ を持ち出してきた
仕様書は必要になれば読むが、今の時点でそこまで切羽詰まって読む必要性はない
ただの独り言で誰かに答えてもらう事を期待していたわけでもない
答えてくれるのは有り難いが、俺への返信は全てピントがずれているんだよ
まだやっとるのか巻き上げの話w
そんな話時間の無駄のような気がするわ
物理の真理でもあるまいし
時間の無駄
プログラミングなんて使えりゃ良いんだよ
JSの仕様策定にかんよしてるのでないなら
もっと別のこと勉強しろ
そんな話時間の無駄のような気がするわ
物理の真理でもあるまいし
時間の無駄
プログラミングなんて使えりゃ良いんだよ
JSの仕様策定にかんよしてるのでないなら
もっと別のこと勉強しろ
仕様を読まなければ、無駄にクロスブラウザする事もあるから時間の無駄ではないけど、否定から前向きな結論は出ないだろうね
独り言に絡まれたのは同情するわ
独り言に絡まれたのは同情するわ
というか、絡まれて火の粉を払っている方はともかく、絡んでいる方が望む終着点が読めん
用語は根拠をもって統一すべきとは確かに思う
そしてもし詳しいなら実務に影響あるところを書いてくれるとうれしいんだが
宣言と初期化の違いが、実際のコーディングにどう影響するのか
アローを含む変数格納の関数と巻き上げの話にしても
その変数を介さずに中身を直接呼ぶ方法がないんだし
「巻き上げなんて無かった」と考えてコード書いていけばそれで良い話にも思える
そしてもし詳しいなら実務に影響あるところを書いてくれるとうれしいんだが
宣言と初期化の違いが、実際のコーディングにどう影響するのか
アローを含む変数格納の関数と巻き上げの話にしても
その変数を介さずに中身を直接呼ぶ方法がないんだし
「巻き上げなんて無かった」と考えてコード書いていけばそれで良い話にも思える
>>78
なるほど、確かにそういう人は少なからずいるな…
なるほど、確かにそういう人は少なからずいるな…
>実践的な部分では変数初期化のタイミングさえ覚えれば良い
覚える必要あんのか?
変数は「初期化するコード」より前のタイミングで使うな、なんならブロック先頭で網羅的に初期化しろ、で済む話では?
覚える必要あんのか?
変数は「初期化するコード」より前のタイミングで使うな、なんならブロック先頭で網羅的に初期化しろ、で済む話では?
>>73
俺からすれば最初>>62は君に対する返答でもたしかにあったけど、
君だけへの返答ではなくそれまでの流れを含めた視聴者に対するまとめを書いただけで
別に君に変数の仕組みを解説したつもりはない
そこに君が>>64で突っ込んできたから、それ「も」書いてると言った
君は「自分の言葉」と思ったかもしれないが、仕様書のURLは、「あえて」記載しなかった
ただ俺はきちんと必要ならすぐ調べられるように仕様上の用語は含ませた
そこは確かに君を強く意識して行ったことだけど
先にも言ったとおり全体としては君の質問へのど直球の回答ではないので
君の期待通りの返信では無いのは悪しからず
そして>>78の言う通り、俺が>>62などで書いた文章は以前の話を含めて書いているため
その後のそれらに対するレスは、>>61だけではない流れ上で考えさせて貰っている
君がやけに>>61に拘ってたことには失礼ながら今気づいたが、俺はそんなちっぽけなところなんて見続けていない
俺からすれば最初>>62は君に対する返答でもたしかにあったけど、
君だけへの返答ではなくそれまでの流れを含めた視聴者に対するまとめを書いただけで
別に君に変数の仕組みを解説したつもりはない
そこに君が>>64で突っ込んできたから、それ「も」書いてると言った
君は「自分の言葉」と思ったかもしれないが、仕様書のURLは、「あえて」記載しなかった
ただ俺はきちんと必要ならすぐ調べられるように仕様上の用語は含ませた
そこは確かに君を強く意識して行ったことだけど
先にも言ったとおり全体としては君の質問へのど直球の回答ではないので
君の期待通りの返信では無いのは悪しからず
そして>>78の言う通り、俺が>>62などで書いた文章は以前の話を含めて書いているため
その後のそれらに対するレスは、>>61だけではない流れ上で考えさせて貰っている
君がやけに>>61に拘ってたことには失礼ながら今気づいたが、俺はそんなちっぽけなところなんて見続けていない
>>73
あとこれは完全に別件として問いたいことだが、
なぜES2017に拘る?
俺はES2017というのは最新仕様の言い換えだろうなと思ったから
より適切な最新のドラフトを案内した
今回の件でES2017に拘る理由がわからない
ES3,5や、letやconstが入ってその辺りに変更が入った2015を見てみるというのはまだ分かる
でもES2017なんて中途半端なところを拘って見たがる理由って一体全体なんだ?
今を知りたいのなら最新のドラフトの方がいいぞ、多少読みやすくもされてるし
あとこれは完全に別件として問いたいことだが、
なぜES2017に拘る?
俺はES2017というのは最新仕様の言い換えだろうなと思ったから
より適切な最新のドラフトを案内した
今回の件でES2017に拘る理由がわからない
ES3,5や、letやconstが入ってその辺りに変更が入った2015を見てみるというのはまだ分かる
でもES2017なんて中途半端なところを拘って見たがる理由って一体全体なんだ?
今を知りたいのなら最新のドラフトの方がいいぞ、多少読みやすくもされてるし
一次情報云々の話ならそもそも実体化とかいう訳語が怪しいんだが
誰かがそう決めたの?
誰かがそう決めたの?
知っていると実益があるかどうか
var,let,constはそれぞれ性質が違いしかも一方だけでコードを書くことができる
選択の余地ひいては実益があり、実益をどう判断するかのポリシー問題
変数の巻き上げやTDZや宣言・初期化とか用語・説明の話は実益あるのか
var,let,constはそれぞれ性質が違いしかも一方だけでコードを書くことができる
選択の余地ひいては実益があり、実益をどう判断するかのポリシー問題
変数の巻き上げやTDZや宣言・初期化とか用語・説明の話は実益あるのか
実益があるのかって、単純に何事も内部構造をできるだけ分かって使う方がより良いと思うけど。
クラッチやエンジンの仕組みを何も知らないで感覚だけで覚えるのと、理屈で理解してるのとでは違いがあると思う
クラッチやエンジンの仕組みを何も知らないで感覚だけで覚えるのと、理屈で理解してるのとでは違いがあると思う
巻き上げ周りの知識があったら書き方がどう変わるのかってやつだな
自動車の例でいえば、仕組みを知ってれば効率良い運転に繋がる可能性もあろう
自動車の例でいえば、仕組みを知ってれば効率良い運転に繋がる可能性もあろう
そうでもないと思う
ジェネレータの良いところは、継続状態と返り値が同時に抽象化されてることだから
for awaitならそれを抽象化されたまま自然と扱えるが、
whileを使った場合その抽象化システムを丁寧に自分で組み立てるか、
その場その場で適応的に書くか、もしくは妥協しないといけない
ジェネレータの良いところは、継続状態と返り値が同時に抽象化されてることだから
for awaitならそれを抽象化されたまま自然と扱えるが、
whileを使った場合その抽象化システムを丁寧に自分で組み立てるか、
その場その場で適応的に書くか、もしくは妥協しないといけない
あ、ちなみに、ページ内の「ドラッグできます」というのを上の四角の領域にドロップすると要素が移動するというコードです。
それから34行のcurrentTargetとtargetと違いもわからないです。
targetに書き換えるとドラッグしても何も起こらなくなるのはなぜだろう
それから34行のcurrentTargetとtargetと違いもわからないです。
targetに書き換えるとドラッグしても何も起こらなくなるのはなぜだろう
んなURL持ってくんなよ
しかも度々書籍ステマ・書籍アフィが出てるスレで「コンピュータ、パソコン書籍の出版社」が
アクセス統計でも得たいのか
しかも度々書籍ステマ・書籍アフィが出てるスレで「コンピュータ、パソコン書籍の出版社」が
アクセス統計でも得たいのか
本買うと特典でサンプルDLできるとかのあれか
本買ってないやつがDLするわけにはいかないし
本買ったやつならURLなんて出さなくてもわかるだろうし
何より本書いたやつか出版社に聞け
本買ってないやつがDLするわけにはいかないし
本買ったやつならURLなんて出さなくてもわかるだろうし
何より本書いたやつか出版社に聞け
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
みんなの評価 : 類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.131 + (1000) - [97%] - 2017/1/25 8:01
- + JavaScript の質問用スレッド vol.137 + (1003) - [97%] - 2019/3/26 11:46
- + JavaScript の質問用スレッド vol.130 + (974) - [97%] - 2016/10/26 14:18
- + JavaScript の質問用スレッド vol.114 + (1001) - [97%] - 2014/5/3 10:45
- + JavaScript の質問用スレッド vol.130 + (1001) - [97%] - 2017/11/25 20:45
- + JavaScript の質問用スレッド vol.131 + (1004) - [97%] - 2018/3/7 13:30
- + JavaScript の質問用スレッド vol.132 + (1001) - [97%] - 2018/4/19 11:00
- + JavaScript の質問用スレッド vol.133 + (1001) - [97%] - 2018/6/8 10:45
- + JavaScript の質問用スレッド vol.136 + (1001) - [97%] - 2019/1/8 11:30
- + JavaScript の質問用スレッド vol.135 + (1002) - [97%] - 2018/11/23 10:30
- + JavaScript の質問用スレッド vol.138 + (1004) - [97%] - 2019/4/20 23:45
- + JavaScript の質問用スレッド vol.139 + (1001) - [97%] - 2019/5/27 15:15
- + JavaScript の質問用スレッド vol.104 + (1001) - [97%] - 2013/1/28 4:00
- + JavaScript の質問用スレッド vol.124 + (1001) - [97%] - 2015/7/16 1:30
- + JavaScript の質問用スレッド vol.144 + (288) - [97%] - 2020/5/17 20:00
- + JavaScript の質問用スレッド vol.113 + (1001) - [95%] - 2014/3/15 21:30
- + JavaScript の質問用スレッド vol.119 + (1002) - [95%] - 2014/10/3 15:30
トップメニューへ / →のくす牧場書庫について