のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,646,784人
昨日:no data人
今日:
最近の注目
人気の最安値情報

私的良スレ書庫

不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

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

JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニュー
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
レスフィルター : (試験中)
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
801 : Name_Not - 2019/02/14(木) 19:42:06.58 ID:???.net (+66,+29,-12)
>>799
そりゃウェブアプリに限ればそうだろうよw
殆どがウェブサイトだからな
802 : Name_Not - 2019/02/14(木) 19:42:45.40 ID:???.net (+70,+29,-20)
>>800
そんな話してないぞ?

jQueryはオワコンじゃなくて
両方使いましょうって話をしてる
803 : Name_Not - 2019/02/14(木) 19:45:37.79 ID:???.net (-1,-29,-72)
DOMを管理するライブラリ/フレームワークは基本的に共存できない。
angular react vueなどのvDOM勢からしたらそこまでしてわざわざ軒先貸してあげるメリットがまるで無い。
804 : Name_Not - 2019/02/14(木) 19:48:31.74 ID:???.net (-1,-29,-79)
ようするにブラウザ標準のDOM APIとフレームワークは相性が悪いわけ
DOM APIを直接(またはjQueryなどのライブラリを使って)操作することを
禁止しているから
805 : Name_Not - 2019/02/14(木) 19:52:48.24 ID:???.net (-1,-29,-1)
そこでweb componentsですよ!
806 : Name_Not - 2019/02/14(木) 20:11:02.90 ID:???.net (+3,-29,-205)
web componentsが完成すれば、コンポーネント(≒HTMLタグ)を
プログラマが作ってウェブデザイナはそのHTMLタグを使う時代になる

コンポーネントは既存のHTMLタグの機能を拡張して動きをつけたものだが
汎用的なものであるためデザインは含まない(デフォルトがある程度)
デザインはCSSでやるという今と同じ流れ

コンポーネント自体はDOM APIを使って作るだろう。

じゃあjQueryは不要になるのか?というと、コンポーネント同士の連携で使われる

CSSでコンポーネントにデザインを、jQueryでコンポーネント同士の連携を。
そこにフレームワークは登場しない
807 : Name_Not - 2019/02/14(木) 20:17:18.03 ID:???.net (+57,+29,-44)
つける動きがもうコンポーネント作る時点で作ってあるんだから出番ねーよw
さすがに要素の移動程度ネイティブapiでやるわwww
808 : Name_Not - 2019/02/14(木) 20:19:08.86 ID:???.net (+57,+29,-10)
要素の移動ってなんだ?そんな事一言も言ってないが
809 : Name_Not - 2019/02/14(木) 20:19:48.89 ID:???.net (+57,+29,-4)
ごめん。じゃあ何一つ用ないわ。これでいいなw
810 : Name_Not - 2019/02/14(木) 20:22:45.05 ID:???.net (+52,+24,-2)
コンポーネント同士の連携が残ってるだろ
811 : Name_Not - 2019/02/14(木) 20:23:00.35 ID:???.net (+57,+29,-46)
rubyといいjQueryといい本尊が落ちぶれた信者は大変だな。
まぁ迷惑だから出ていけ。
812 : Name_Not - 2019/02/14(木) 20:27:50.01 ID:???.net (+9,-8,+0)
イ・ヤ・♪
813 : Name_Not - 2019/02/14(木) 20:36:15.59 ID:???.net (+48,+27,-3)
病気だなwワロタw
815 : Name_Not - 2019/02/15(金) 12:53:16.21 ID:???.net (+57,+29,-39)
CSSで切り欠き部分まで一杯にコンテンツを表示しているときに
対象の要素の隠れた部分、もしくは切り欠き部分のマスクを取得、計算するにはどうしたら良いでしょうか?
817 : Name_Not - 2019/02/15(金) 14:59:50.09 ID:???.net (-14,-30,-124)
onclick属性
addEventListener('click', e)
jQueryのclick(e)やon('click', e)
これら3つは別物と考えてok

jQueryは内部でaddEventListener使ってるけどイベントハンドラは独自管理
819 : Name_Not - 2019/02/16(土) 12:35:47.81 ID:???.net (+38,+15,+1)
どういたしまして。
820 : Name_Not - 2019/02/16(土) 12:43:19.57 ID:sXlAHJYP.net (+30,+3,-63)
無名関数の代わりにアロー関数を使う事はありますか?
互換性とthisのバインドの違いが怖くてビビって使えない
821 : Name_Not - 2019/02/16(土) 13:03:05.32 ID:???.net (+70,+25,+0)
>>820
めっちゃ使う
822 : Name_Not - 2019/02/16(土) 13:41:46.91 ID:sXlAHJYP.net (+36,+28,-1)
>>821
ありがとうございます
使えるように勉強します
823 : Name_Not - 2019/02/16(土) 16:07:30.41 ID:???.net (+50,+22,-3)
むしろthisが中と外で一致するので使いまくる
824 : Name_Not - 2019/02/16(土) 16:19:10.05 ID:???.net (+58,+30,+0)
825 : Name_Not - 2019/02/16(土) 18:44:09.81 ID:???.net (+87,+29,-71)
すいません初心者の質問です
JSでは、C言語みたいに、1つの式しか書けない所で、「i++,j」みたいに書くことで
「i++という処理だけをして、その結果を捨てて、そこに入る値としてはjを使う」
という文法ってあるんでしょうか?
ちなみにこの文法のことをC言語で正式に何と呼ぶのか分からないので
Javascriptにこれがあるかどうかもうまく調べられないという状況です
826 : Name_Not - 2019/02/16(土) 19:04:45.31 ID:???.net (+50,+15,-14)
>>825
カンマ演算子のことか?
827 : Name_Not - 2019/02/16(土) 19:41:58.58 ID:???.net (+96,+30,-36)
カンマ演算子だね。jsにもあるよ。
http://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Comma_Operator
関数型至上主義者に蛇蝎の如く嫌われるやつだ。
828 : Name_Not - 2019/02/16(土) 19:44:46.47 ID:???.net (+57,+29,-31)
カンマ演算子を好んで使う職業プログラマなんておらんだろ
関数型云々とか関係ない
829 : Name_Not - 2019/02/16(土) 19:46:30.38 ID:???.net (+3,-30,-247)
コンマ演算子
http://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%B3%E3%83%9E%E6%BC%94%E7%AE%97%E5%AD%90

プログラミング言語 C および C++ におけるコンマ演算子(コンマえんざんし)は、
左被演算子を評価しその値を捨て、その後右被演算子を評価する演算子である。
順次演算子(じゅんじえんざんし)もしくは順次評価演算子 (sequential-evaluation operator) と
呼称されることもある[1][2][3]。JIS X3010ではコンマ演算子と表記されている。
830 : Name_Not - 2019/02/16(土) 19:48:24.94 ID:???.net (+11,-6,-12)
プロプログラマ
831 : Name_Not - 2019/02/16(土) 19:54:11.76 ID:???.net (+45,+29,-2)
プロのグラマーってちょっとエロい
832 : Name_Not - 2019/02/16(土) 19:54:13.09 ID:???.net (+45,+29,-2)
プロのグラマーってちょっとエロい
833 : Name_Not - 2019/02/16(土) 20:17:23.51 ID:???.net (+70,+29,-5)
>>827
積極的に使うわけではないが、一つの文にしたい時には使う
834 : Name_Not - 2019/02/16(土) 20:23:49.65 ID:???.net (+34,+6,-21)
アロー関数の略式で使うことあるし、関数型云々は関係ないな
835 : Name_Not - 2019/02/16(土) 20:43:54.26 ID:???.net (+125,+29,-22)
副作用嫌う関数型主義者がA,BでAには副作用しか期待できないカンマ演算子を許すはずがない
836 : Name_Not - 2019/02/16(土) 21:28:25.73 ID:???.net (+93,+29,-15)
カンマ演算子を使う事が副作用のトリガーではない
837 : Name_Not - 2019/02/16(土) 21:47:11.28 ID:???.net (+57,+29,-17)
皆さんありがとうございます。
カンマ演算子と言うんですね。そしてjsにもあると。
大変勉強になりました。
838 : Name_Not - 2019/02/16(土) 22:14:21.54 ID:???.net (+146,+29,-114)
>>836
> カンマ演算子を使う事が副作用のトリガーではない

正しい。
が、A,BでAの部分で副作用を使わない場合はAの部分は全くなにもしないということ。それは単にBと書くことと同じである。
A,Bと書くということは、普通はAの部分で何か処理をさせる。
その場合その処理とは副作用以外あり得ない。
別に一般の言語では普通のことだが関数型信者は許せないのである。
839 : Name_Not - 2019/02/16(土) 22:18:42.25 ID:???.net (+72,+29,-7)
>>838
> その場合その処理とは副作用以外あり得ない。
なぜ?
840 : Name_Not - 2019/02/16(土) 22:26:53.33 ID:???.net (+82,+29,-55)
>>838
> が、A,BでAの部分で副作用を使わない場合はAの部分は全くなにもしないということ。それは単にBと書くことと同じである。

「副作用を伴わない=何もしない」って本気でそう思ってるのか...
返り値に影響する処理なら何もしてないわけではないだろうに
841 : Name_Not - 2019/02/16(土) 22:39:04.01 ID:???.net (+7,-29,-71)
A,BでAが帰り値に影響を与えるということは、すなわちAの部分は副作用を持つ。よく考えてみるんだな。
例:
var a;
var b = (a = 1, a + 2);

悪いとは言ってない。普通だ。
これを悪いと考えるのが関数型信者なのだ。
842 : Name_Not - 2019/02/16(土) 22:50:31.02 ID:???.net (+7,-30,-236)
副作用を伴わない関数↓
const nosf = n => n * 2;
const unko = (nosf(3), 10);
nosf(3)の唯一の成果は捨てられる。
=意味がない
=const unko = 10;と書くのと一緒
=何もしないのと一緒

副作用を伴う関数↓
const sf = n => {console.log(n);};
const unko = (sf(3), 10);
単にconst unko = 10;と書くのとは違い、3がコンソールに出力される。
=意味がある。そして副作用でもある。

A, Bと書くとき、Aに期待できるのは副作用のみである。

だからなんだ?なんでもない。ただそれが関数型信者は許せないのである。
843 : Name_Not - 2019/02/16(土) 22:59:31.45 ID:???.net (+57,+29,-22)
CPUに計算はさせてんじゃん。捨てられる無駄な計算をw
844 : Name_Not - 2019/02/16(土) 23:00:53.56 ID:???.net (+35,-30,-34)
>>841
やはり、ロジックがおかしい
再考を推奨する
[1,2,3].map(v => (v += 2, v * v)); // [9, 16, 25]

>>842
変数名からして汚いコードだな...
845 : Name_Not - 2019/02/16(土) 23:07:20.22 ID:???.net (+260,+29,-113)
>>844
オーケーオーケー、つまりあなたは
v += 2
の部分が副作用じゃないと言いたいんだな?
そっかぁそうだったのかぁ…
やっぱりwikipediaは信用できないなぁw

http://ja.m.wikipedia.org/wiki/副作用_(プログラム)
プログラミングにおける副作用(ふくさよう)とは、ある機能がコンピュータの(論理的な)状態を変化させ、それ以降で得られる結果に影響を与えることをいう。代表的な例は変数への値の代入である。
846 : Name_Not - 2019/02/16(土) 23:12:41.93 ID:???.net (+57,+29,-9)
副作用が何かも知らないやつが突っかかってんのか
知らないなら黙ってりゃいいのに
847 : Name_Not - 2019/02/16(土) 23:17:19.87 ID:???.net (+81,+29,-6)
>>845は皮肉で言ってんだと思うんだが…
848 : Name_Not - 2019/02/16(土) 23:21:48.35 ID:???.net (+112,-30,-103)
>>845
君の出したところによると、参照透過性の満たすべき条件は、

1. 同じ条件を与えれば必ず同じ結果が得られる
2. 他のいかなる機能の結果にも影響を与えない

なわけだが、

[1,2,3].map(v => (v += 2, v * v));

は副作用があって、

[1,2,3].map(v => { const x = v + 2; return x * x; });

は副作用がない、といいたいのだな?
どちらも、1,2の条件を満たしており、他のいかなるスコープの変数にも影響を与えないとしても、前者は副作用があるのだな?
849 : Name_Not - 2019/02/16(土) 23:25:03.72 ID:???.net (+101,+18,-19)
>>848
A, Bと書くとき、Aに期待できるのは副作用のみである。

何か文句ありますか?以上。
850 : Name_Not - 2019/02/16(土) 23:27:43.70 ID:???.net (+69,+29,-6)
>>849
副作用がないコードは既に説明した、といっておこう
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

類似してるかもしれないスレッド


トップメニューへ / →のくす牧場書庫について