任天堂「今後C++は捨てJavaScriptで開発していく」 (887レス)
1-

201: デフォルトの名無しさん [] 2013/03/22(金) 11:03:48.66 AAS
今やJavaScriptはここまで来た
外部リンク:gigazine.net
202: デフォルトの名無しさん [sage] 2013/03/22(金) 11:10:02.18 AAS
OdinMonkeyっておぢんモンキーでいいの?
203
(4): デフォルトの名無しさん [sage] 2013/03/22(金) 11:37:19.10 AAS
>>200
200(1): デフォルトの名無しさん [sage] 2013/03/22(金) 10:23:09.92 AAS
なんか基礎的な知識がなくて回り道しそうだから
お前らに最低限の知識を与えておこう

var hoge = (function() {
 var private_variable;

 function private_function() {
 }

 return {
  public_function: private_function, // プライベート関数をパブリック関数として公開
 }
}());

hoge.public_function();
ありがと。

>>196
196(2): デフォルトの名無しさん [sage] 2013/03/22(金) 08:40:49.75 AAS
>>193
>var x = (function() {var maxLength;})();
意味がわからない。このコードじゃxに入るのはundefined

あんたがやりたいのはこんな感じのことじゃないのか?
var x={maxLength:0,
setMaxLength:function(v){this.maxLength=v},
getMaxLength:function(){return this.maxLength}};
それだと、maxLengthを隠蔽できてない。

newを使う場合はこう。
var Foo = function() {var maxLength;};
Foo.prototype.setMaxLength = function(val) {maxLength = val;}
Foo.prototype.getMaxLength = function() {return maxLength;};

var x = new Foo();
console.log(x.maxLength);    // => undefined
x.setMaxLength(100);
console.log(x.getMaxLength()); // => 100
console.log(x.maxLength);    // => undefined
x.maxLength = 200;        // => can't change Foo's property
console.log(x.getMaxLength()); // => 100
try {
  console.log(x.getMaxlength());
} catch (e) {
  console.log(e.message);
}
204
(2): デフォルトの名無しさん [sage] 2013/03/22(金) 11:38:26.18 AAS
newを使わない場合はこう。

var x = {};
(function(obj) {
  var maxLength;
  function getMaxLength() { return maxLength; }
  function setMaxLength(val) { maxLength = val; }
  obj.getMaxLength = getMaxLength;
  obj.setMaxLength = setMaxLength;
})(x);

console.log(x.maxLength);    // => undefined
x.setMaxLength(100);
console.log(x.getMaxLength()); // => 100
console.log(x.maxLength);    // => undefined
x.maxLength = 200;        // => can't change Foo's property
console.log(x.getMaxLength()); // => 100
try {
  console.log(x.getMaxlength());
} catch (e) {
  console.log(e.message);
}
205: デフォルトの名無しさん [sage] 2013/03/22(金) 11:54:34.47 AAS
それでは、
obj.setMaxLength(1) を
obj.MaxLength = 1 と
間違えてしまうことを防げない。
206
(1): デフォルトの名無しさん [sage] 2013/03/22(金) 11:55:25.08 AAS
>>203
グローバル変数に隠蔽とは斬新だなw
207: デフォルトの名無しさん [sage] 2013/03/22(金) 11:59:36.73 AAS
JavaScriptにグローバル変数は存在しない。
208
(1): デフォルトの名無しさん [sage] 2013/03/22(金) 12:03:10.04 AAS
>>206
実際のプロダクトコードでは、複数階層の名前空間に入れるけどね。
209
(1): デフォルトの名無しさん [sage] 2013/03/22(金) 12:08:07.49 AAS
>>208
ためしに
var y = new Foo();
y.setMaxLength(200);
x.getMaxLength();
ってやってみたら?
210
(1): デフォルトの名無しさん [sage] 2013/03/22(金) 12:21:19.07 AAS
>>209
どうなった?
211: デフォルトの名無しさん [sage] 2013/03/22(金) 12:40:55.14 AAS
>>210
あぁ、203に合わせると最後は
console.log(x.getMaxLength());


とりあえずやってみてよ?
212: デフォルトの名無しさん [sage] 2013/03/22(金) 13:16:53.40 AAS
基本的にJavaScriptでは「プライベート変数」はあきらめたほうがいいよ。
newも使わない方がいい。
男なら、publicなプロパティだね。
で、結局typoの問題は解決できないけど、それがJavaScriptってもんだ。
嫌ならTypeScriptがいいんじゃね(使ったことないから知らんけど)。
213: デフォルトの名無しさん [sage] 2013/03/22(金) 13:25:00.70 AAS
そもそもタイポと戦えないような奴はプログラマになっちゃいかん
214: デフォルトの名無しさん [sage] 2013/03/22(金) 13:26:27.37 AAS
そう、それがたとえ他人の書いたタイポであってもね
215: デフォルトの名無しさん [sage] 2013/03/22(金) 13:30:07.16 AAS
タイポは神様からの贈り物なんだよ
216
(2): デフォルトの名無しさん [sage] 2013/03/22(金) 13:46:05.31 AAS
Javaをやってると奴隷とかドカタとか煽れるけど、スペルミスなんて、JavaやC#なら入力した
瞬間にエディタが教えてくれるに、それを人間が目で探すとか、動的型の言語のプログラマは
マシーンですか。
217
(1): デフォルトの名無しさん [sage] 2013/03/22(金) 13:59:19.86 AAS
JSに限った話じゃないけどテストを書けば問題ないってのは机上の空論だな
>>203もテスト(らしきもの)を書いているけど、結局のところなんのチェックも出来てない訳だし
(203はそろそろ自分の間違いに気がついただろうか?)
218: デフォルトの名無しさん [sage] 2013/03/22(金) 14:25:59.22 AAS
>>216
チェックツールあるだろw
219: デフォルトの名無しさん [sage] 2013/03/22(金) 15:53:13.12 AAS
JSか
220: デフォルトの名無しさん [sage] 2013/03/22(金) 15:54:14.44 AAS
>>203
だからこれは何なんだよw
>var Foo = function() {var maxLength;};
>Foo.prototype.setMaxLength = function(val) {maxLength = val;}
>Foo.prototype.getMaxLength = function() {return maxLength;};
意味がわからんぞw
偉そうなこというまえに基礎からやりなおしてこいよw
221
(1): デフォルトの名無しさん [sage] 2013/03/22(金) 15:57:38.83 AAS
>>216
打ってる最中に画面見てないのか?
大文字小文字も規約決めてるだろうし…
222: デフォルトの名無しさん [sage] 2013/03/22(金) 16:02:52.03 AAS
l-1とか0-Oとか他人が打ち間違ったのを尻拭いする任務を与えよう
223: デフォルトの名無しさん [sage] 2013/03/22(金) 16:05:52.53 AAS
真に恐ろしいのは目の前で裸で立ちすくむソイツではなく
どこに潜んでいるかわからない見えないアイツ
2年前に学ばなかったのか
224: デフォルトの名無しさん [sage] 2013/03/22(金) 16:09:28.79 AAS
>>204とか
x.getMaxLength()をx.getMaxLengthってミスしてもとりあえず動いてしまうように見えるし最悪w
225: デフォルトの名無しさん [sage] 2013/03/22(金) 16:24:36.78 AAS
JavaScriptが開発効率高いなんてド素人の妄想
1-
あと 662 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 1.508s*