+ JavaScript の質問用スレッド vol.123 + [転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
0001Name_Not_Found
垢版 |
2015/01/24(土) 16:23:05.20ID:???
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です)
0952Name_Not_Found
垢版 |
2020/10/19(月) 11:57:34.08ID:u/+zd2qn
if文で1の位が1であるかどうかで条件分岐したいんですが、どう書けばいいでしょうか?
0953Name_Not_Found
垢版 |
2020/10/19(月) 12:15:14.46ID:???
JavaScript のthis は、関数をネストさせると、コンテキスト・文脈を判断できず、
グローバルのwindow を指してしまうので、非常に難しい

だから、ラムダ式、jQuery, Haxe では、thisがwindowを指さないように変えられた
0954Name_Not_Found
垢版 |
2020/10/19(月) 12:17:59.90ID:???
剰余を使えば?

正の整数を、10で割って、1余る。
負の整数は、知らないけど
0955Name_Not_Found
垢版 |
2020/10/19(月) 12:24:14.02ID:u/+zd2qn
>>954
ありがとうございます
ちょっとむずかしいのでテキストとして処理します
0957Name_Not_Found
垢版 |
2020/10/19(月) 13:05:26.63ID:???
>>953
お前thisわかってないじゃんw
windowを指すのは関数のネストと全く関係ない

関数を呼び出すときにobj.fooで呼び出すかfooで呼び出すかの違いなだけ
0958Name_Not_Found
垢版 |
2020/10/19(月) 13:35:47.27ID:???
どれどれ…
let foo = () => {
console.log(this)
}
let obj = {
foo
}

obj.foo()
//=> window
foo()
//=> window

ウソつきぃぃいいい!!!
0959Name_Not_Found
垢版 |
2020/10/19(月) 14:29:25.88ID:???
>>958
お前が呼び出してるのは関数じゃなくて
アロー関数じゃん
0960Name_Not_Found
垢版 |
2020/10/19(月) 14:34:22.68ID:???
アロー関数も関数じゃんw
ウソつきばっかりやな
0961Name_Not_Found
垢版 |
2020/10/19(月) 14:35:24.43ID:???
別もんだぞ?だから動きが違うだろうが
0962Name_Not_Found
垢版 |
2020/10/19(月) 14:50:31.39ID:???
どれどれ
let foo = () => console.log(this);

foo instanceof Function
//=> true

typeof(foo)
//=> “function”

Object.getPrototypeOf(foo)
//=> function ()

ウソつきもたいがいにせーよ!
0963Name_Not_Found
垢版 |
2020/10/19(月) 23:19:09.65ID:???
そうだそうだ!大うそつきだ!
動きは同じだ!だから問題は1つもない!
thisは難しくない!話はおしまい!
0965Name_Not_Found
垢版 |
2020/10/20(火) 01:19:40.00ID:pdzQdrSd
そんなに難しくないと思います(中2・女子)
0966Name_Not_Found
垢版 |
2020/10/20(火) 06:31:19.16ID:???
違うものを同じと認識してしまってるんだからそりゃ区別が付かなくて難しく感じるんだろうな
0967Name_Not_Found
垢版 |
2020/10/20(火) 09:39:40.70ID:???
関数の定義すら知らない人が
thisは難しくないとか言ったところで全く説得力ないよ
もうただただ痛い
0968Name_Not_Found
垢版 |
2020/10/20(火) 10:23:02.83ID:???
>>964
一連のやり取り見ればどちらに分があるかは
初心者にも明らかなのでもう続けなくていい
0969Name_Not_Found
垢版 |
2020/10/20(火) 12:09:40.95ID:fqzPr7AG
ちょっと考えりゃわかんだろ
20年以上、多くのプログラマが
当たり前のようにJS書いてて
特に問題なくthis使ってきたんだから
大したことないって

そりゃ理解力に個人差があるのはわかるけど
数字でわかることに他人を巻き込むのは良くねえよ

素直に自分の理解力の無さを認めて
ふつうに理解できてる人に教えを乞う方が
建設的だと思うぜ

別にわからないことは恥ずかしいことじゃねえよ
0970Name_Not_Found
垢版 |
2020/10/20(火) 12:52:31.91ID:???
何というか、実際は複雑で仕様書レベルで理解しようとしたら大変なものってたくさんあると思うよ。
でもthisってそこまで理解しないと使えないものではないと思う。
どちらかというと直感的に体で覚えて使える類のものだと思うよ。
もしどうしても詳細なロジックで理解したければ仕様書を読めばいいと思う。
0971Name_Not_Found
垢版 |
2020/10/20(火) 13:02:24.93ID:???
「thisが理解できない」という話は誰もしてないのにねw
「難しい」という言葉の意味すら理解できないんだなww
0972Name_Not_Found
垢版 |
2020/10/20(火) 13:19:43.17ID:???
言葉の定義を理解しようとしないのは頭の悪いやつに共通する特徴
0973Name_Not_Found
垢版 |
2020/10/20(火) 13:27:55.26ID:???
なるほどねー

「thisは難しい」を「thisが理解できない」と勘違いして
「thisは難しくない」と主張することで「俺はthisを理解してるぜ」とドヤりたかったと

にもかかわらず何も理解してなかったことが露呈したわけだ
噓つきディスおじさん乙
0974Name_Not_Found
垢版 |
2020/10/20(火) 15:52:52.28ID:???
頭大丈夫???

仕様書レベルで理解してる人なんてほとんど居ないし
それを目指そうとすれば難しいだろうけど、
そこまでする必要はないよと言ってるだけだよ

つまり反対に言うと、むしろ余りに深く理解しようとするから難しく感じるのでは?と言ってるわけだよ?
thisが理解できないなんて誰も言ってないでしょ?
0975Name_Not_Found
垢版 |
2020/10/20(火) 16:40:58.18ID:???
つまり理解してないくせに知ったかぶりでドヤってたわけだワラ
0976Name_Not_Found
垢版 |
2020/10/20(火) 18:02:28.00ID:???
難しいってのは常に相対的な言葉なんだよねー
何と比べてるのかも理解せず延々と知ったかぶりでドヤられてもねー
0977Name_Not_Found
垢版 |
2020/10/21(水) 06:35:23.46ID:???
何と比較してるかって
>>927-929 始まりを見ると
JSの全仕様及び多言語の仕様においてthisが特別に難しいかって話でしょ
自分の中でだけ勝手に基準変えちゃったのかな?
0978Name_Not_Found
垢版 |
2020/10/21(水) 07:25:47.11ID:???
>>977
使いこなすのに全仕様が必要なのか?
そんな理解しかできないのはお前だけw
頑張って考えた言い訳でもこれだから

仕様ヨムオも噓つきおじさんだわ
0979Name_Not_Found
垢版 |
2020/10/21(水) 23:13:55.07ID:???
こいつ意思疎通ができないぞ
さてはAIだな
0980Name_Not_Found
垢版 |
2020/10/22(木) 00:31:42.36ID:VV84UUrD
難しいつっても
100点中2点と5点の差みたいなもんじゃね?

とりたてて困るほどのものでもないというか
あーそういうことなのね、程度で済む範疇というか

何レスも消費して騒ぐほどのもんかね?
0981Name_Not_Found
垢版 |
2020/10/22(木) 01:11:36.20ID:???
初心者がthisを使いこなすせるようになるために理解すべきことを
わかりやすく説明すれば納得するんじゃね?
そうすればスレ的にも有意義だと思うよ

“thisは0番目の引数というだけ”や”thisは . の左です”では
まるでダメだから噓つき呼ばわりされる
0982Name_Not_Found
垢版 |
2020/10/22(木) 06:38:16.84ID:???
まず第一に初心者が使いこなすのが簡単な仕様なんて存在しないでしょ
例えばforファミリーだってfor-inの列挙のルールとかfor-letの変数の挙動とか
しっかり理解するのは初心者にとっては極めて難しいでしょ
thisの説明はそこそこしっかりしても>>944+アロー関数くらいのもので1レスに収まる程度でしょ
もちろんそれ以上に深く知ろうとすればforの例などと同じく結局他のJSのシステムまで理解しないといけないから
そりゃ細かく知ろうとするほど際限なく難しくなるでしょ

難しくないって言ってる人は様々に具体的に見解を述べてるんだからさ
むしろ難しいっていう理由のほうが聞きたいね
thisを理解してるそうだから答えられるはずでしょ?
0984Name_Not_Found
垢版 |
2020/10/22(木) 10:16:44.85ID:???
>>982
噓つきの言い訳長文ほど見苦しいものはないぞ

結局>>973が書いてる通りだったね
0985Name_Not_Found
垢版 |
2020/10/22(木) 10:55:06.00ID:???
簡単だけど、簡単なんだけど、簡単には説明できないんだッ!
せ、説明ができないだけで理解してないわけじゃないからなッ!!
う、う、ウソじゃないッ!!!
0986Name_Not_Found
垢版 |
2020/10/22(木) 11:54:29.28ID:???
「HTML5プロフェッショナル認定 レベル2」の問題が難しい。というか覚えなけれならないことが多すぎる。
0987Name_Not_Found
垢版 |
2020/10/22(木) 17:14:06.03ID:VV84UUrD
>>986
そんなのあるんだ…自信ねえな…
0988Name_Not_Found
垢版 |
2020/10/22(木) 20:16:16.95ID:???
Scanner scanner = new Scanner(System.in);

のこの一番最初のScanner は何なん?
0989Name_Not_Found
垢版 |
2020/10/22(木) 20:22:19.00ID:???
またメロンとメロンパンか…
0990Name_Not_Found
垢版 |
2020/10/22(木) 20:24:04.64ID:???
それはjavascriptではなくjavaなのでは?
クラス型変数宣言
0991Name_Not_Found
垢版 |
2020/10/22(木) 21:47:42.77ID:???
>>985
簡単だとか誰も一言も言ってないぞ
そもそも全て簡単ではないが、
特段JSのthisが難しい訳ではないと言ってるだろ
いい加減諦めろ
0992Name_Not_Found
垢版 |
2020/10/22(木) 22:37:48.49ID:???
難しくないと思うのは自由なんだけどさ
さも理解してるかのように語って初心者が困るような嘘を垂れ流し続けるのはやめてくれ
自己弁護の言い訳に終始しててほんとに見苦しいと思うよ
0993Name_Not_Found
垢版 |
2020/10/23(金) 01:17:49.41ID:???
初心者「難しい話をされて困るんです。
専門用語を使った間違いのない完璧な説明じゃなくて
分かりやすいたとえで説明してくれませんか?困るんです」
0994Name_Not_Found
垢版 |
2020/10/23(金) 02:57:12.75ID:???
シッタカ「分かりました。半可知識でさも知ったふうに語ります」
0995Name_Not_Found
垢版 |
2020/10/23(金) 04:28:33.74ID:awuRdqLf
まあでも
世の中そんなもんじゃない?

たいていの人にとって必要なのは
現状から一歩前に進むことであって
いきなり真理に到達することじゃないもの

だから真実ではないけど
みんな最初は古典物理を教わるわけで

極論だが、このスレで質問するようなレベルの人に
完璧な答えは必要ないんだよ、現状打破できれば

自転車乗れるようになってから
なんで倒れないのか知った方が理解が深いのと同じよ
0996Name_Not_Found
垢版 |
2020/10/23(金) 06:30:09.09ID:???
>>992
そう思うのは自由だが
それなら君が完璧な説明をしたらいいだけなのでは?
簡単でしょ?
0997Name_Not_Found
垢版 |
2020/10/23(金) 06:42:33.51ID:???
>>992
すまんけど俺は仕様書を読めるし長年読んできたし、
ES6の前からDiscasにも参加してクラスシステムやthisが絡むの議論にも
さんざん参加してきたし、十分深く理解してるから

つうかここまで色んな人がしたthisの説明は、合ってるから
100%正確を求めたら仕様書以外はみんな間違いになるから
誰も初心者が100%理解するために解説を述べてるのではなくて
thisが比較的難しくないことを述べるために概要を簡単にまとめ直して
どうそれを見るかを語っているだけだから

そもそもなんで巷に色んな解説があり仕様書もあるのに
こんなところで100%の解説をまとめようと思うのかも理解できないから
そもそも本当のことを語ったら初心者が困らないのかというとそれこそ嘘だから

初心者が本当のところをすべて理解するのは不可能で
そんなこと教えられてもそれこそ難しくて困るから
初心者にとって必要なのは嘘だけど簡単で概ね使える知識だから
そこから上級者になっていくにあたって本当のところを知っていくものだから
0998Name_Not_Found
垢版 |
2020/10/23(金) 12:49:04.10ID:???
仕様ヨムオとjQおじさんは完全に老害だな
役に立たないばかりか嘘をついて他人の理解を妨げてる
どれどれ君のほうが1000倍役に立つ
0999Name_Not_Found
垢版 |
2020/10/23(金) 13:15:43.52ID:???
JavaのthisやPythonのselfに比べても
同じプロトタイプベースのIoのselfに比べても
JavaScriptのthisは覚えるべきルールが多くて複雑
1000Name_Not_Found
垢版 |
2020/10/23(金) 13:31:35.67ID:???
なぜウソをつくのか?
=> 自分を認めてもらいたいから

なぜウソをついてまで自分を認めてもらいたいのか?
=> 常日頃他人に認められておらず承認欲求が満たされていないから

なぜ常日頃から他人に認められていないのか?
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 2098日 21時間 8分 30秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

ニューススポーツなんでも実況