トップページ⇒tech
1002コメント505KB

+ JavaScript の質問用スレッド vol.120 + [無断転載禁止]©5ch.io

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2016/05/22(日) 19:51:33.37ID:WwOYSBmy
JavaScript を自ら学ぶ人のための質問スレッドです。
>>2-4のテンプレを読んだ上で質問してください。次スレは>>950が>>2のテンプレ案(本スレで改善案があれば考慮)を元に立ててください

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

           ス   ル   ー   推   奨   。
0003デフォルトの名無しさん2016/05/22(日) 20:14:45.33ID:FTGg1fS8
荒らしってか三日間騒ぎ続けてるキチガイ
0004デフォルトの名無しさん2016/05/22(日) 21:13:57.23ID:5X2RDQPH
未だにお前らが何をやりたいのかさっぱり分からないが。

まず、次立てずに埋めた馬鹿は荒らしだろ。IDコロコロだし。 >>2
次に、このテンプレでいいのなら124を再利用すべきだろ。
そしてこのスレで行くつもりなら続きのテンプレも落とせよ。 >>1
ライブラリ禁止ならテンプレが異なるので立て直すべき。
個人的にはワッチョイの方がいいと思う。IDない頃よりはだいぶマシになってるし。

IDコロコロ埋め立て放置荒らしはWeb板に戻ってきて欲しいのかもしれないが、
どっちかというとお前らは議論したがっているし、(と言うよりは蘊蓄を披露したいだけか?)
正直今のお前らの日本語力でID無しでの議論は無理だから、この板が妥当だろう。

議論内容は正直どうでもいいものだけど、それでも議論したければするがいいさ。
ただ、あの内容については、500行程度のコードを書くようになれば自然に納得いくから、
もやもやしている奴は、こんな所で時間を消費するのではなく、コードを書いた方がいい。
お前らは本当に「50行のコードしか書いてないんだな」と思える展開が多すぎる。
0005デフォルトの名無しさん2016/05/22(日) 21:26:22.79ID:FTGg1fS8
長い3字で済ませろ
0006デフォルトの名無しさん2016/05/23(月) 00:01:13.45ID:nh4t1HCu
前スレの ID:WwOYSBmy を見てきたが、酷いな
0007デフォルトの名無しさん2016/05/23(月) 09:44:02.18ID:09f5J8xU
ワードサラダっぷりも誰かにそっくり
0008デフォルトの名無しさん2016/05/23(月) 19:52:15.88ID:aItG7/va
>>2->>8
いきなりかよw
0009デフォルトの名無しさん2016/05/24(火) 01:18:13.42ID:1wjjU4Dv
プロパティを持っていないときに代入をしたいんですが
var foo = {};
foo.bar = foo.bar || "value";
こういう書き方意外になにかありますか?
もしくは、rubyのHash.new("value")みたいにデフォルト値を与える方法はありますか?
初心者なのでどうすべきなのかさっぱりわかりません
0010デフォルトの名無しさん2016/05/24(火) 02:37:42.45ID:wmKZ/4EE
>>9
if(!hoge.a) hoge.a='aaa';
がわかりやすくてよく使う。
オブジェクトなら、mergeObjって関数作ってて、デフォルト値のオブジェクトにマージする関数も作ってる。
0011デフォルトの名無しさん2016/05/24(火) 11:09:37.02ID:57joSblr
>>9
foo.bar || "value" は foo.bar に falsy な値が入っていた場合に上書きされる
プロパティチェックには in 演算子か hasOwnProperty を使う

if (!('bar' in foo)) {
foo.bar = 'value';
}

デフォルト値はプロトタイプで指定する

function Foo (bar) {
if (arguments.length > 0) {
this.bar = bar;
}
}
Foo.prototype.bar = 'value';
console.log(new Foo);
console.log(new Foo(1));
0012デフォルトの名無しさん2016/05/24(火) 11:43:05.72ID:Fup9czqT
>>9
foo.barがどのような過程で生成されるかで違ってくるよ
0013デフォルトの名無しさん2016/05/24(火) 12:18:09.22ID:fTRdDZnU
すみません、質問です。
サイトで時間で表示非表示のスクリプトを入れているのですが
非表示でもリロード時に一瞬表示されてしまいます。
このちらつきを防止する策はありませんでしょうか?

コードははこんな感じです↓

<script type=
0014デフォルトの名無しさん2016/05/24(火) 12:23:18.22ID:iG1UUWT4
>>13
www
ごめんでも笑えた
0015デフォルトの名無しさん2016/05/24(火) 12:24:06.53ID:c4cnVHPj
茶碗の中みたいだな
0016132016/05/24(火) 12:35:17.27ID:fTRdDZnU
ごめんなさい 途中で切れてしまいました

<script type="text/javascript">
<!--
window.onload = changeDisplay;
function changeDisplay(){
var objDate = new Date();
var now = (new Date()).getTime();//現在のタイムスタンプ(ミリ秒)を取得
var changeTime = (new Date("2016/05/25 20:00:00")).getTime();//切り替える日時のタイムスタンプ(ミリ秒)を取得
//切り替え前
if (now < changeTime) {
document.getElementById('hoge1').style.display = "block";
document.getElementById('hoge2').style.display = "none";
setTimeout("changeDisplay()", 1000);//1秒ごとに実行(◯秒ごとの場合は、第2引数に 「◯ * 1000」 と記述)
//切り替え後
} else {
document.getElementById('hoge1').style.display = "none";
document.getElementById('hoge2').style.display = "block";
}
}
// -->
</script>
0017デフォルトの名無しさん2016/05/24(火) 13:16:31.22ID:iG1UUWT4
>>16
window.onloadじゃなくてDOMContentLoadedで処理するとか
0018デフォルトの名無しさん2016/05/24(火) 13:21:28.18ID:57joSblr
>>16s
document.styleSheets で
#hoge1 { display: block; }
#hoge2 { display: none; }
を宣言する
0019デフォルトの名無しさん2016/05/24(火) 13:47:40.17ID:Fup9czqT
>>16
var timer = 0;
function changeDisplay(){
clearTimeout(timer);
...
if (now < changeTime) {
...
timer = setTimeout("changeDisplay()", 1000);
} else {
...
timer = setTimeout("changeDisplay()", 1000);
}

方法は色々あるけどこれで良いんじゃない?
0020デフォルトの名無しさん2016/05/24(火) 19:32:47.77ID:cROy8nMz
>>12
手元にある変数をhashtableとして使って
var model = {};
model[a][b][c] = value; // ←これができるような準備をしたい
みたいにして実行時に受け取ったkeyを使ってモデルを構築したいんですね
それをするためにデフォルト値の設定か、key所持の有無を知りたかったんです

>>11
> プロパティチェックには in 演算子か hasOwnProperty を使う

ありがとうございます。さっそくそれらをぐぐって学びました。
まさにそれです。hasOwnPropertyでピッタリのようです。

>>10
> if(!hoge.a) hoge.a='aaa';

ありがとうございます。タイピング量的にはこれがいいですね。
今回、厳密にプロパティ所持の有無だけをチェックする必要も実は無いですし。
0021デフォルトの名無しさん2016/05/24(火) 21:04:07.49ID:TKpsNxtt
>>13 >>16
> すみません、質問です。
> サイトで時間で表示非表示のスクリプトを入れているのですが

<html class="ng">
<script>
if (new Date() < new Date("2016/05/25 20:00:00")) {
 document.documentElement.className = 'ok';
}
</script>
<style>
.ng #hoge1 { display: none }
.ok #hoge2 { display: none }
<style>
<body>
 <div id="hoge1">hoge1</div>
 <div id="hoge2">hoge2</div>
</body>
</html>
0022デフォルトの名無しさん2016/05/24(火) 21:08:36.04ID:TKpsNxtt
一つ言っておきたいのは、ブラウザのJavaScriptでシンプルなコードを書こうと思ったら、
CSSの知識が必要不可欠ってこと。(もちろんHTML自体の知識も必要)
CSSを使ううちに不満が出てきて、SASS(SCSS)に乗り換えることだろう。

見た目に関する多くの処理をCSSでやることで
JavaScriptは驚くほどシンプルになる。
0023デフォルトの名無しさん2016/05/24(火) 22:57:09.14ID:fFhHkZMI
JSDocで、JSONを返すAPIなどのオブジェクトを定義出来ますか?
0024デフォルトの名無しさん2016/05/25(水) 00:22:00.09ID:oaeRtxYk
>>23
JSON はただの String 型
0025デフォルトの名無しさん2016/05/25(水) 00:38:42.00ID:Jdaj3qLb
>>20
それは、なんか関数用意したほうがいいんじゃないの?
model={}
keys=[a,b,c]
setModel(model,keys,value){
var k=keys.pop();
model[k]=keys.length==0?value:setModel(!model[k]?{}:model[k],value);
return model;
}
みたいな感じで。
0026デフォルトの名無しさん2016/05/25(水) 01:02:30.80ID:e2/1A4Vq
お疲れさまです

板TOPに書かれているルール
>JSはweb管理板で


現行スレ
+ JavaScript の質問用スレッド vol.130 +
http://echo.2ch.net/test/read.cgi/hp/1463395557/50
0027デフォルトの名無しさん2016/05/25(水) 01:49:09.77ID:VNiDmyVP
Web板って自演がウザイだけじゃん
0028デフォルトの名無しさん2016/05/25(水) 07:14:03.46ID:cVBZ9i9Y
それができた経緯と現状を顧みずにルールに縛られるのはドアホのすること。
ルールのために我々があるのではない。
0029デフォルトの名無しさん2016/05/25(水) 07:23:06.88ID:hMNMImmN
>>24
JSONをパースしたオブジェクトの構造を定義しておけば、IDEの支援受けられるやろ?
だからソース上にはないクラスの定義できるかって聞いた
JSONが文字列って事くらい誰でもわかる
0030デフォルトの名無しさん2016/05/25(水) 09:26:14.89ID:Yyi7LTu7
お前の使ってるIDEの仕様なんか知らねえw
0031デフォルトの名無しさん2016/05/25(水) 09:59:51.34ID:oaeRtxYk
>>29
JSON は String 型なのでオブジェクトとしての補完機能は必要ない
String.prototype 系の補完機能が働けばそれでいい
まさかとは思うが、JSON をパースしたオブジェクトを JSON と誤解してないだろうな...
0032デフォルトの名無しさん2016/05/25(水) 14:33:22.24ID:Jdaj3qLb
>>26
その頃のjsは、Webだけのためのものだったからなぁ
0033デフォルトの名無しさん2016/05/25(水) 17:16:25.85ID:hMNMImmN
>>31
そうなんだ
例えば、TwitterAPIで返ってくるJSONをパースしたオブジェクトの構造をJSDcoコメントで定義しておけば、オートコンプリートの支援が受けられるやろ?
それみたいに、APIで返ってくる形式をDocで定義したい
0034デフォルトの名無しさん2016/05/25(水) 18:20:50.93ID:6lXHJSGu
>>33
JSON.parse したオブジェクトは new Object か new Array のどちらかしかない
JSON Interface のオブジェクトというものは存在しない
0035デフォルトの名無しさん2016/05/25(水) 18:30:33.44ID:Rwgeje6L
>>33

JSONデータにまで、インテリセンスを効かせたいの?
0036デフォルトの名無しさん2016/05/25(水) 18:50:53.98ID:hMNMImmN
>>35
うん
0037デフォルトの名無しさん2016/05/25(水) 20:50:05.00ID:RmI4sgQT
あきらめろん
0038デフォルトの名無しさん2016/05/25(水) 23:00:15.35ID:cOSJO7dH
>>33
それなら、Object 型を指定するだけで済むはずだが(>>34)
0039デフォルトの名無しさん2016/05/26(木) 00:59:59.52ID:xmgEeB9V
>>32
実質的に今も大して変わらず、9割以上ブラウザだろ。
それよりは、XHRがでかい。
あれで単なるブラウザ専用DSLからプログラミング言語へと脱皮した。

>>25
脱線するが、君はあいかわらずのコードを書いてるな。
指摘は正しいし、そのコードも悪くはないが、良くはない。8/10だ。
普通はshiftだろうし、keysが抜けているが、俺が言っているのはそういう文法的なことではない。

それはさておき、君はC++出身ということでいいのかな?
これをちょっと聞きたかった。

あと、君は ID:WwOYSBmy か?
これについては荒れるリスクがあるから、答えたくなければ無視でいい。
その代わり、回答があれば、そちらに有益な情報(と俺が思っているだけだが)を一つ出すことにする。
0040デフォルトの名無しさん2016/05/26(木) 01:22:55.48ID:cAjDmLh7
>>25のコードに素人臭さを感じるのは
当たり前に入れるべきスペースすら無いからかな。
経験の低さがにじみ出てる
0041デフォルトの名無しさん2016/05/26(木) 01:48:29.92ID:xw9RGDuQ
質問です
初めてnodejsのexpress?というのでwebアプリ作成してみたのですが
非同期が難しすぎるし、IDEの補完がきかないのでメソッドもいちいち調べるの面倒です(以下コードです)
https://github.com/himanannyaga/angular2-express-mongo-quiz/blob/master/server/app.js
受け取ったJSONの型チェックとかバリデーション簡単にできる方法ってないんですか?
そもそもnodejs自体やめたほうがいいんでしょうか?
やめるとしたら今流行りのサーバーサイドのフレームワークってどれがいいんでしょうか?
0042デフォルトの名無しさん2016/05/26(木) 02:21:24.67ID:dKizvVLh
>>41
>>34
0043デフォルトの名無しさん2016/05/26(木) 02:55:58.29ID:Zah1U3qm
>>39,40
すまんな。スマホで書いてるから。
普段はそういう瑣末な事は、beautifyで綺麗にしてるよ。
俺はperlとgauche。
1ではないよ。
0044デフォルトの名無しさん2016/05/26(木) 03:07:20.77ID:cAjDmLh7
なるほど。経験者はつい入れてしまうから
それができないってのはやはり初心者のようだね。
0045デフォルトの名無しさん2016/05/26(木) 07:33:19.93ID:QBGIcNJU
>>42
?
0046デフォルトの名無しさん2016/05/26(木) 07:40:08.69ID:CRvI10Ce
補完がどうとか型チェックがどうとか言ってるやつはtypescript使ったらいんじゃない
0047デフォルトの名無しさん2016/05/26(木) 07:55:50.23ID:clpr93dz
>>46
ビルドしたらjsになるし開発時だけの機能じゃないんですか?
0048デフォルトの名無しさん2016/05/26(木) 08:40:29.43ID:Zah1U3qm
>>44
つい入れてしまうが分からん。
どのみち機械が解決してくれる内容は手で修正なんかしないだろ。
瑣末な所を気にしすぎて納期的に死ぬ自称中級者みたいなこと言ってないでさ。
popじゃなくてshiftじゃね?ってのは凄く恥ずかしいが。
0049デフォルトの名無しさん2016/05/26(木) 08:42:44.53ID:wYXEPUUA
>>41
JSON は String 型固定だから型チェックする必要はないよね
0050デフォルトの名無しさん2016/05/26(木) 12:08:35.93ID:z6iFNo2h
>>41
JSON-Schemaで検索
0051デフォルトの名無しさん2016/05/26(木) 12:12:08.35ID:grnWiB9o
補完は好みによるので自分で構築しろよ
0052デフォルトの名無しさん2016/05/26(木) 12:54:37.58ID:z6iFNo2h
>>48
スマホじゃ仕方ないと思うが、その結論はどうなんだ
beautifierや規約強制系のツールは、必要最低限で人が意識して書くほどには綺麗にならないし
つかそもそも作業中に自分でも見づらいし、コード書いてたら普通は入れるだろうよ
0053デフォルトの名無しさん2016/05/26(木) 13:13:53.91ID:z6iFNo2h
あとコードに補足するが !obj.prop の判定はfalsy値も含むから、
(obj.prop == null) のが良い
0054デフォルトの名無しさん2016/05/26(木) 13:15:55.40ID:Zah1U3qm
>>52
うーん。タイプ数がとにかく減ってくれれば。
ショートカットもバインドしてあるから、2・3行書いて叩いて、って普段はしてるよ。
人の意識なんかそれぞれだから、規約で縛っちゃったほうが後から来る人に引き継ぎやすいし、rcファイルを撒いてる。
規約は真面目に決める。
0055デフォルトの名無しさん2016/05/26(木) 13:19:24.85ID:Zah1U3qm
>>53
それは微妙では?
やるなら、
((typeof obj.prop === "undefined") || obj.pro===null)
で見てやったほうがいいと思う。
0056デフォルトの名無しさん2016/05/26(木) 13:29:07.06ID:z6iFNo2h
>>55
それは初心者がやること
undefined == nullだからやらんでよろしい
少しは他人に突っ込む前に考えろって
0057デフォルトの名無しさん2016/05/26(木) 13:31:26.42ID:z6iFNo2h
>>54
スタイル強制ツールも完全じゃないんだってば
それも本当に使ってりゃわかるだろ
0058デフォルトの名無しさん2016/05/26(木) 13:44:38.38ID:Z4ePso6q
>>53
falsy な値を考慮するなら null, undefined だけ特別扱いするコードも微妙
in 演算子か hasOwnProperty を使う方がよい
0059デフォルトの名無しさん2016/05/26(木) 13:47:14.61ID:azrLOfn9
処理の内容から想像するに
in演算子よりhasOwnPropertyメソッドのほうが処理が軽かったりもするのかな?
0060デフォルトの名無しさん2016/05/26(木) 14:14:23.15ID:z6iFNo2h
>>58
一般にはデフォルト値を与える場合はnullを置き換える事が多いから、こうしてる
nullが入る事も考慮する場合ならそれに同意する
ただ、JSON相手ならinよりhasOwnPropertyのが良いぞ
0061デフォルトの名無しさん2016/05/26(木) 14:16:43.93ID:z6iFNo2h
しまったJSONは別の人か
まあどちらにしろ in 使う場合はモンキーパッチとかしてる場合でも無い限りまず無いと思う
0062デフォルトの名無しさん2016/05/26(木) 14:25:27.17ID:tAENBh2t
素朴な疑問なんだけどfor文の条件部の区切りってなんでセミコロンなの?
中でカンマ使うから?
0063デフォルトの名無しさん2016/05/26(木) 15:08:38.61ID:iU2f12RA
誰に聞くべきだ
デニスリッチーとかブライアンカーニハンとかケントンプソンに聞くべきじゃねえのか
0064デフォルトの名無しさん2016/05/26(木) 15:25:45.42ID:7MaZAWY8
>>56
==での比較とか、もう!の誤爆と発想のレベルが変わらなさすぎてなんと言うかだなぁ。

>>57
まぁ、完全じゃないってか少し冗長になる事は多いが、完全じゃない、ってのはどんなとき?

>>62
文だから。
0065デフォルトの名無しさん2016/05/26(木) 15:34:27.62ID:e0xtAfbK
論理演算で不可能なケースが発生するのは
論理的なコードを書いていない証
パーフォーマンスが悪くなるよ
0066デフォルトの名無しさん2016/05/26(木) 15:35:50.71ID:DQmxlFQb
なるほど
頭がパーだからパーフォーマンスか
ははは
0067デフォルトの名無しさん2016/05/26(木) 15:38:36.64ID:uxvxPhHy
そもそもなんでfor文なの?
forってどういう意味なの?
なんでふんどしなの?
0068デフォルトの名無しさん2016/05/26(木) 15:50:42.51ID:z6iFNo2h
>>64
>==での比較とか、もう!の誤爆と発想のレベルが変わらなさすぎてなんと言うかだなぁ。
俺から言わせればお前さんが同レベルだよ
そうやって仕様をまるで把握していないから、そういう事を平気で言えるんだろうけどね
0069デフォルトの名無しさん2016/05/26(木) 15:57:13.56ID:VNKitGFp
いつまでもうるせえな
どうでもいいだろこんな初心者がひっかかるような話
俺ら上級者様には一切関係ねえ話だろうが
undefinedなんて出すバカなんてほっとけや
0070デフォルトの名無しさん2016/05/26(木) 16:03:05.34ID:z6iFNo2h
>>63
リッチー先生はもうこの世におらん…
0071デフォルトの名無しさん2016/05/26(木) 16:09:23.69ID:CcMPN8b7
リッチのくせに不死じゃないだと?
そんなバカな
0072デフォルトの名無しさん2016/05/26(木) 16:14:10.74ID:z6iFNo2h
リッチーにジョブズ、リーナスにゲイツ
最近は本当に惜しまれる人ばかりがいなくなってるな
0073デフォルトの名無しさん2016/05/26(木) 16:36:33.73ID:UN7L7nZy
>>72
>リーナスにゲイツ最近は本当に惜しまれる人ばかりがいなくなってるな

2人とも生きているのでは?
0074デフォルトの名無しさん2016/05/26(木) 16:39:58.63ID:z6iFNo2h
まさかこんなすべったレスにマジレスで突っ込まれるとは思わなかったぞ!
0075デフォルトの名無しさん2016/05/26(木) 16:42:16.87ID:rGVMPRNj
名誉毀損
0076デフォルトの名無しさん2016/05/26(木) 16:51:40.48ID:7MaZAWY8
>>68
あーあー、お前のコードでもういいよ。
obj.propがnullで初期化されてればそれで良くなったら、改修がめんどくさいとかほっとくよ。
0077デフォルトの名無しさん2016/05/26(木) 17:01:57.05ID:TSvbJ/YB
伝説の呂布はあかん
0078デフォルトの名無しさん2016/05/26(木) 17:22:20.13ID:99YjRWAc
2ちゃんでしか威張れないなんてなんてかわいそうな人たちなんだろう
0079デフォルトの名無しさん2016/05/26(木) 18:50:41.26ID:ZS10B00B
nullとundefinedは違うの?
0080デフォルトの名無しさん2016/05/26(木) 18:58:27.62ID:etrunD2E
んなもんぐぐれぼけ
いつからここは初心者レクチャー講座になったんだ鬱陶しい
0081デフォルトの名無しさん2016/05/26(木) 19:23:51.43ID:e0xtAfbK
>>79
nullとundefined
視覚的な違いがある
0082デフォルトの名無しさん2016/05/26(木) 19:26:21.87ID:z6iFNo2h
>>76
nullも欲しいならそもそも判定する必要すらないだろ
お前が何を言ってるのか、何を想定して何を問題としてるのかもわからん
はっきり言えよ
0083デフォルトの名無しさん2016/05/26(木) 19:37:17.07ID:e0xtAfbK
いちばん不思議なのことは
obj.prop がどうしてnull になるのか?

だ
0084デフォルトの名無しさん2016/05/26(木) 19:42:34.13ID:OguWhub7
>>83
==を使った場合という意味?
だとしたら==で比較すりゃ型変換されるからでは
0085デフォルトの名無しさん2016/05/26(木) 20:18:59.79ID:7MaZAWY8
>>82
あるわ。
未定義と、正しくnullで初期化しました、は相当違う。
要は、横着するならfalsyなオブジェクトを容認すりゃ良いし、
横着しないのであれば型と中身はチェックすべき。
null==trueはfalseで、null==trueもfalseで、余計な地雷を生む。
って話。
0086デフォルトの名無しさん2016/05/26(木) 20:19:52.73ID:WcKFKF+t
よくアクセスランキングとかにaタグでリンクを貼って飛ばしたりすると思いますが、マウスでクリックした場合は、リンク先で正しくカウントされますが、ジャバスクリプトでページ変更した場合はカウントされないのは、どうしようもないのでしょうか?
0087デフォルトの名無しさん2016/05/26(木) 20:31:24.69ID:z6iFNo2h
>>85
いやその違いが問題だと言うなら問題となる事例を出せと…
少なくとも自分の経験上では、効率考えるとこれが一番妥当
それ以上厳密な型が欲しいならそもそもJavsScriptなんて使わない
0088デフォルトの名無しさん2016/05/26(木) 20:32:48.87ID:iLE0aKXK
質問者もいねえんだからもうよそでやれよクソッタレどもが
0089デフォルトの名無しさん2016/05/26(木) 20:35:37.26ID:z6iFNo2h
>>85
>要は、横着するならfalsyなオブジェクトを容認すりゃ良いし、
まずこの結論が極端
0を容認するが、null/undefinedを容認しない事例なんてゴマンとあるのに対し、
nullを容認するがundefinedを容認しない事例はほとんどない
0090デフォルトの名無しさん2016/05/26(木) 21:53:32.28ID:7MaZAWY8
しつこいやつだな。お前が正しいでもういいよ。
0091デフォルトの名無しさん2016/05/26(木) 21:56:38.20ID:cAjDmLh7
これに従えばいいだろ
https://github.com/airbnb/javascript/

今時typeofつかって"undefined"と比較するのはアホ
0092デフォルトの名無しさん2016/05/26(木) 22:11:08.45ID:5gTTFtf/
hasOwnPropertyでいいやん、ってだけの話を何をグダグダとw
0093デフォルトの名無しさん2016/05/26(木) 23:10:54.73ID:UjMbTLsx
また、null, undefind の論争か

DBでも、null があって、3値論理で手一杯で、
偉い学者が唱えた、undefind も入れての4値論理は、ややこし過ぎて、否定されただろ

Rubyの偽は、nil, false だけ。
これが覚えるルールが少なく、最もシンプル

JSはおかしい。言語実装者用の内部ルールが、
一般のプログラマーにも見えてしまっている
0094デフォルトの名無しさん2016/05/27(金) 00:40:25.02ID:fXm66YRc
>>90
よくねえよ
問題とするなら具体的にどう問題になるのか出せって
それが正しいならこっちだって改める
0095デフォルトの名無しさん2016/05/27(金) 01:55:13.24ID:10EzBfKp
>>93
でもなぁ、現実問題便利なんだよ

null・・・データーベースの値としてnullを代入
undefined・・・省略(何も変化させない)
0096デフォルトの名無しさん2016/05/27(金) 02:38:39.80ID:5O2HSGrs
>>94
改めて貰わなくて結構。
自分が正しいと盲信してる人間に説明し付けるほど無駄なことは無い。
0097デフォルトの名無しさん2016/05/27(金) 02:58:22.81ID:fXm66YRc
>>96
なんだそれ、事例出すなんて一言で済む話だろ
それを虚勢で言っていないなら、ただ荒らしてかき回してるだけの嫌な奴でしかない
0098デフォルトの名無しさん2016/05/27(金) 03:03:17.59ID:fXm66YRc
>>95
具体的に実装コードが見えないがそれ便利なのか?
0099デフォルトの名無しさん2016/05/27(金) 04:27:40.50ID:Ck73qeVz
気持ち悪い奴が言い合ってるな。
0100デフォルトの名無しさん2016/05/27(金) 08:31:12.52ID:bXpUR2n8
前のスレもそうでしたよ^^
0101デフォルトの名無しさん2016/05/27(金) 08:44:39.94ID:N6sFDxPG
nullとundefinedはレイヤーが違う。

nullはオブジェクトに置けるNaNみたいなもので、
基本オブジェクトを扱う文脈で基本効果を持って取り扱われる値。
あくまで参照が同じな特殊な役割を持った偽性のオブジェクトのようなサインが共有されていると思えばいい。

undefinedはもっと広く、何も扱うべき値がない時に充てがわれる基本効果の無い値。
■ このスレッドは過去ログ倉庫に格納されています