+ JavaScript の質問用スレッド vol.123 + [転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
JavaScript を自ら学ぶ人のための質問スレッドです。
>>2-4のテンプレを読んだ上で質問してください。
■質問を書く上で
(1) 煽り、コード制作依頼等、人を不快にさせる投稿はご遠慮下さい。公序良俗を守った応対を心がけてください。
(2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。
(ブラクラ、[戻る], [閉じる], [クリック] の妨害、画面占有など)
(3) 質問者及び議論を行う人はメール欄を空欄にし、名前にレス番を入れることを強く推奨します。回答者はなりすましを判断できませんので、なりすましが現れても自己責任となります。
(4) 常に自発的に調べる心構えを持ってください。
具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。
わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。
(5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。
(6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。
※必ず「問題の事象が再現されること」を確認してください。
必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。
(7) サンプルコードに HTML が含まれる場合は http://validator.w3.org/ で [Check] してみてください。
(8) 質問を具体的かつ詳細に書くと回答を得られやすいです。>>2の質問テンプレートを活用してみてください。
(9) 時にはあなたが望む「答え」だけでなく、「意見」などが寄せられる場合もあります。
+ JavaScript の質問用スレッド vol.122 +(c)2ch.net
http://peace.2ch.net/test/read.cgi/hp/1420095379/
(ライブラリ禁止条項は、多数の意見によって廃止されました。ライブラリの質問もOKです) if文で1の位が1であるかどうかで条件分岐したいんですが、どう書けばいいでしょうか? JavaScript のthis は、関数をネストさせると、コンテキスト・文脈を判断できず、
グローバルのwindow を指してしまうので、非常に難しい
だから、ラムダ式、jQuery, Haxe では、thisがwindowを指さないように変えられた 剰余を使えば?
正の整数を、10で割って、1余る。
負の整数は、知らないけど >>954
ありがとうございます
ちょっとむずかしいのでテキストとして処理します >>953
お前thisわかってないじゃんw
windowを指すのは関数のネストと全く関係ない
関数を呼び出すときにobj.fooで呼び出すかfooで呼び出すかの違いなだけ どれどれ…
let foo = () => {
console.log(this)
}
let obj = {
foo
}
obj.foo()
//=> window
foo()
//=> window
ウソつきぃぃいいい!!! >>958
お前が呼び出してるのは関数じゃなくて
アロー関数じゃん どれどれ
let foo = () => console.log(this);
foo instanceof Function
//=> true
typeof(foo)
//=> “function”
Object.getPrototypeOf(foo)
//=> function ()
ウソつきもたいがいにせーよ! そうだそうだ!大うそつきだ!
動きは同じだ!だから問題は1つもない!
thisは難しくない!話はおしまい! 違うものを同じと認識してしまってるんだからそりゃ区別が付かなくて難しく感じるんだろうな 関数の定義すら知らない人が
thisは難しくないとか言ったところで全く説得力ないよ
もうただただ痛い >>964
一連のやり取り見ればどちらに分があるかは
初心者にも明らかなのでもう続けなくていい ちょっと考えりゃわかんだろ
20年以上、多くのプログラマが
当たり前のようにJS書いてて
特に問題なくthis使ってきたんだから
大したことないって
そりゃ理解力に個人差があるのはわかるけど
数字でわかることに他人を巻き込むのは良くねえよ
素直に自分の理解力の無さを認めて
ふつうに理解できてる人に教えを乞う方が
建設的だと思うぜ
別にわからないことは恥ずかしいことじゃねえよ 何というか、実際は複雑で仕様書レベルで理解しようとしたら大変なものってたくさんあると思うよ。
でもthisってそこまで理解しないと使えないものではないと思う。
どちらかというと直感的に体で覚えて使える類のものだと思うよ。
もしどうしても詳細なロジックで理解したければ仕様書を読めばいいと思う。 「thisが理解できない」という話は誰もしてないのにねw
「難しい」という言葉の意味すら理解できないんだなww 言葉の定義を理解しようとしないのは頭の悪いやつに共通する特徴 なるほどねー
「thisは難しい」を「thisが理解できない」と勘違いして
「thisは難しくない」と主張することで「俺はthisを理解してるぜ」とドヤりたかったと
にもかかわらず何も理解してなかったことが露呈したわけだ
噓つきディスおじさん乙 頭大丈夫???
仕様書レベルで理解してる人なんてほとんど居ないし
それを目指そうとすれば難しいだろうけど、
そこまでする必要はないよと言ってるだけだよ
つまり反対に言うと、むしろ余りに深く理解しようとするから難しく感じるのでは?と言ってるわけだよ?
thisが理解できないなんて誰も言ってないでしょ? つまり理解してないくせに知ったかぶりでドヤってたわけだワラ 難しいってのは常に相対的な言葉なんだよねー
何と比べてるのかも理解せず延々と知ったかぶりでドヤられてもねー 何と比較してるかって
>>927-929 始まりを見ると
JSの全仕様及び多言語の仕様においてthisが特別に難しいかって話でしょ
自分の中でだけ勝手に基準変えちゃったのかな? >>977
使いこなすのに全仕様が必要なのか?
そんな理解しかできないのはお前だけw
頑張って考えた言い訳でもこれだから
仕様ヨムオも噓つきおじさんだわ 難しいつっても
100点中2点と5点の差みたいなもんじゃね?
とりたてて困るほどのものでもないというか
あーそういうことなのね、程度で済む範疇というか
何レスも消費して騒ぐほどのもんかね? 初心者がthisを使いこなすせるようになるために理解すべきことを
わかりやすく説明すれば納得するんじゃね?
そうすればスレ的にも有意義だと思うよ
“thisは0番目の引数というだけ”や”thisは . の左です”では
まるでダメだから噓つき呼ばわりされる まず第一に初心者が使いこなすのが簡単な仕様なんて存在しないでしょ
例えばforファミリーだってfor-inの列挙のルールとかfor-letの変数の挙動とか
しっかり理解するのは初心者にとっては極めて難しいでしょ
thisの説明はそこそこしっかりしても>>944+アロー関数くらいのもので1レスに収まる程度でしょ
もちろんそれ以上に深く知ろうとすればforの例などと同じく結局他のJSのシステムまで理解しないといけないから
そりゃ細かく知ろうとするほど際限なく難しくなるでしょ
難しくないって言ってる人は様々に具体的に見解を述べてるんだからさ
むしろ難しいっていう理由のほうが聞きたいね
thisを理解してるそうだから答えられるはずでしょ? >>982
噓つきの言い訳長文ほど見苦しいものはないぞ
結局>>973が書いてる通りだったね 簡単だけど、簡単なんだけど、簡単には説明できないんだッ!
せ、説明ができないだけで理解してないわけじゃないからなッ!!
う、う、ウソじゃないッ!!! 「HTML5プロフェッショナル認定 レベル2」の問題が難しい。というか覚えなけれならないことが多すぎる。 Scanner scanner = new Scanner(System.in);
のこの一番最初のScanner は何なん? それはjavascriptではなくjavaなのでは?
クラス型変数宣言 >>985
簡単だとか誰も一言も言ってないぞ
そもそも全て簡単ではないが、
特段JSのthisが難しい訳ではないと言ってるだろ
いい加減諦めろ 難しくないと思うのは自由なんだけどさ
さも理解してるかのように語って初心者が困るような嘘を垂れ流し続けるのはやめてくれ
自己弁護の言い訳に終始しててほんとに見苦しいと思うよ 初心者「難しい話をされて困るんです。
専門用語を使った間違いのない完璧な説明じゃなくて
分かりやすいたとえで説明してくれませんか?困るんです」 シッタカ「分かりました。半可知識でさも知ったふうに語ります」 まあでも
世の中そんなもんじゃない?
たいていの人にとって必要なのは
現状から一歩前に進むことであって
いきなり真理に到達することじゃないもの
だから真実ではないけど
みんな最初は古典物理を教わるわけで
極論だが、このスレで質問するようなレベルの人に
完璧な答えは必要ないんだよ、現状打破できれば
自転車乗れるようになってから
なんで倒れないのか知った方が理解が深いのと同じよ >>992
そう思うのは自由だが
それなら君が完璧な説明をしたらいいだけなのでは?
簡単でしょ? >>992
すまんけど俺は仕様書を読めるし長年読んできたし、
ES6の前からDiscasにも参加してクラスシステムやthisが絡むの議論にも
さんざん参加してきたし、十分深く理解してるから
つうかここまで色んな人がしたthisの説明は、合ってるから
100%正確を求めたら仕様書以外はみんな間違いになるから
誰も初心者が100%理解するために解説を述べてるのではなくて
thisが比較的難しくないことを述べるために概要を簡単にまとめ直して
どうそれを見るかを語っているだけだから
そもそもなんで巷に色んな解説があり仕様書もあるのに
こんなところで100%の解説をまとめようと思うのかも理解できないから
そもそも本当のことを語ったら初心者が困らないのかというとそれこそ嘘だから
初心者が本当のところをすべて理解するのは不可能で
そんなこと教えられてもそれこそ難しくて困るから
初心者にとって必要なのは嘘だけど簡単で概ね使える知識だから
そこから上級者になっていくにあたって本当のところを知っていくものだから 仕様ヨムオとjQおじさんは完全に老害だな
役に立たないばかりか嘘をついて他人の理解を妨げてる
どれどれ君のほうが1000倍役に立つ JavaのthisやPythonのselfに比べても
同じプロトタイプベースのIoのselfに比べても
JavaScriptのthisは覚えるべきルールが多くて複雑 なぜウソをつくのか?
=> 自分を認めてもらいたいから
なぜウソをついてまで自分を認めてもらいたいのか?
=> 常日頃他人に認められておらず承認欲求が満たされていないから
なぜ常日頃から他人に認められていないのか? このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 2098日 21時間 8分 30秒 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。