[表示 : 全て 最新50 1-99 101- 2ch.scのread.cgiへ]
Update time : 06/13 00:39 / Filesize : 65 KB / Number-of Response : 161
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

+ JavaScript の質問用スレッド vol.123 +



1 名前:デフォルトの名無しさん(ワッチョイ efff-U/Pn [183.76.238.232]) mailto:sage [2017/04/02(日) 23:30:38.56 ID:Qcd0Qmy10.net]
JavaScript を自ら学ぶ人のための質問スレッドです。
>>2-6のテンプレを読んだ上で質問してください。次スレは>>950>>2のテンプレ案(本スレで改善案があれば考慮)を元に立ててください

■質問を書く上で
(1) 煽り、コード制作依頼等、人を不快にさせる投稿はご遠慮下さい。公序良俗を守った応対を心がけてください。
(2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。
  (ブラクラ、[戻る], [閉じる], [クリック] の妨害、画面占有など)
(3) 質問者及び議論を行う人はメール欄を空欄にし、名前にレス番を入れることを強く推奨します。回答者はなりすましを判断できませんので、なりすましが現れても自己責任となります。
(4) 常に自発的に調べる心構えを持ってください。
  具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。
  わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。
(5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。
(6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。
  ※必ず「問題の事象が再現されること」を確認してください。
   必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。
(7) サンプルコードに HTML が含まれる場合は validator.w3.org/ で [Check] してみてください。
(8) 質問を具体的かつ詳細に書くと回答を得られやすいです。>>2の質問テンプレートを活用してみてください。
(9) ライブラリ関連の質問は禁止です。関連スレにあるライブラリ質問スレで質問して下さい。
(10) 時にはあなたが望む「答え」だけでなく、「意見」などが寄せられる場合もあります。

※前スレ
+ JavaScript の質問用スレッド vol.122 +
echo.2ch.net/test/read.cgi/tech/1472426483/
VIPQ2_EXTDAT: checked:vvvvvv:1000:512:----: EXT was configured

151 名前:デフォルトの名無しさん mailto:sage [2019/06/11(火) 19:04:23.38 ID:vib91KXZ0.net]
>>150
ありがとうございます
すみません、ダメだと勝手に思っていました
実行してみたのですが、その場合はobjのオブジェクトとしてtestが登録?されるのですね

(2)の方は、左辺のobj.testのtestは変数で、右辺のtestがfunction test() ということで、
(2)は obj = {test : function test( )} になったということですか?

152 名前:デフォルトの名無しさん mailto:sage [2019/06/11(火) 19:59:25.40 ID:/ckGx9mb0.net]
>>149
const func = test;
const ret = test();

console.log(typeof func);
console.log(typeof ret);

の結果を読むと参考になるかもしんない

153 名前:デフォルトの名無しさん mailto:sage [2019/06/11(火) 20:19:37.39 ID:/ckGx9mb0.net]
"this" の挙動で悩ましい・悩ましかった部分については

var self = this

でググると色々分かるとおもう

154 名前:デフォルトの名無しさん mailto:sage [2019/06/12(水) 08:18:21.06 ID:0T71Qniwr.net]
>>151
言葉で説明するよりも、コンソールデバッグや要所にbreakpointを設定して確かめる方がわかりやすいと思う

var obj = {};
console.log(test);
console.log(obj.test);
obj.test = test;
console.log(obj.test);

おそらく、基礎的な知識が足りてないので、「オブジェクト初期化子」「オブジェクト」「プロパティ」をキーワードにリファレンスをあたってみるべき
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Object_initializer
横着して、基礎を疎かなままに、入門している印象がある

155 名前:デフォルトの名無しさん mailto:sage [2019/06/12(水) 12:30:14.19 ID:vXZu8+ru0.net]
便乗質問なんだけど、一般論として

const obj = {};
obj.test = 1;

とか書いたとき、

・前者は「オブジェクト初期化子」と呼ばれる
・後者は「プロパティ」を新たに定義して、値を結び付けている

という理解でok?

156 名前:デフォルトの名無しさん mailto:sage [2019/06/12(水) 12:47:51.89 ID:0T71Qniwr.net]
>>155
概ね、その理解でいいかと
呼び名に関しては、アクセサ、ドット記法、ブラケット記法などあるが
https://tc39.es/ecma262/#sec-property-accessors

157 名前:デフォルトの名無しさん mailto:sage [2019/06/12(水) 13:13:57.48 ID:vXZu8+ru0.net]
>>156
ご返答ありがとうございます。

ちなみに

>>149
> 1つ下の行でobj.testとしていますが、なぜこれが許されるのでしょうか?

これって、Cの構造体とか、C++ / Java のクラス定義からのインスタンス生成あたりが念頭にある気がするんですけど
気のせいですかねえ…。

158 名前:デフォルトの名無しさん mailto:sage [2019/06/12(水) 13:34:09.25 ID:vXZu8+ru0.net]
https://paiza.io/projects/XNcmQ1UsoTrp11cEdW7nYQ

これでいきなり p.test = 1; とか書いたらコンパイルエラーになるっしょ

159 名前:デフォルトの名無しさん mailto:sage [2019/06/12(水) 22:43:10.82 ID:u6W2+u+x0.net]
違う言語だもの



160 名前:デフォルトの名無しさん mailto:sage [2019/06/12(水) 23:06:46.69 ID:BQdPzZx+0.net]
>>149
> 1つ下の行でobj.testとしていますが、なぜこれが許されるのでしょうか?

>>150
> 悪いが、なぜobj.testに代入が許されないと思っているのか、理解出来ない

この一連の流れ、ちゃんと読んでる?
質問者の自然な感覚としては obj.test が許される理由が分からんと言ってるんだよ
「そういう考え方が何故出て来るのか」って話だよ






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<65KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef