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

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

JavaScript覧 / PC版 /
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter

401 = :

そうだな
Workerとかがそれに当たるわけだが
でもシングルスレッドでの非同期処理がマルチスレッドでのそれよりも単純かと言うとそんなことはない
マルチスレッドではマルチスレッドだからこそ共有するものは制限するし、待ち合わせとか気をつけるが
シングルスレッドだとテクニックとして原理的に保証される順序に頼ることも多いので
その分保証されない順序や共有範囲が大きいことによる衝突事故で嵌まることも多い

402 = :

>>400
サイ本読んだことがあるならJSのベースはあらかた理解してるということだから
次は仕様書を読むと良いと思うよ

403 = :

>>401
なんかどこぞで流行のリライトっぽい

404 = :

>>403
肝心要が抽象的なので、同じ考えを持っている人だけに「そうだよね」と共感を求める意見だからだね
説得力はない

405 = :

lodashのドキュメントページがくそ重いのですがいい方法はないでしょうか?

406 = :

lodashのtimesを使えば

_.times(10).forEach((i)=>{
})

のようにrubyっぽいループが出来ますが、ただループするだけのために配列を作っているので
いささか富豪的ではあります
このやり方はアリなのでしょうか?

407 = :

たかだかそんなことだけのためにライブラリ入れるのか

Array(10).fill().forEach((_, i)=>{
})

で足りるだろ。

408 = :

普通にfor()書くんと何が違うん

409 = :

>>406
> このやり方はアリなのでしょうか?
アリ。富豪的というのは人間の作業をコンピュータやらせるという
コンピュータが作られた目的そのものだから

あと、それ少し無駄があるよ。これでいい。

_.times(10, function(i) {
 console.log(i);
})

もちろんこれもあり

_.times(10, i => console.log(i));

>>407
どうやらIEで動かないようだ

>>408
関数型的なのと、簡単にかけること

411 = :

chromeアプリて開発中止みたいなこと聞いたけどもしかしてPWAがその上位互換?

412 = :

pwaなどという技術は無い。
マーケティング用語だとgoogleのエンジニアも言ってる。
新しいWeb技術こう組み合わせて使ったらいいんじゃね?というスローガンのようなもの。

413 = :

web2.0でSNSとか非同期通信が普及したみたいに
将来に過去振り返ってみて「web3.0でPWA的なスタイルが普及したなぁ」みたいな?

414 = :

組合せって言うとajaxなんかは典型かも

418 = :

初診種者なのですが
Javascript+Node.jsだけでサイト運営出来るんでしょうか?

419 = :

nodeスレなかったか

420 = :

初診種者→初心者
です

424 = :

(1)アロー関数(さらに省略版)の即時実行できると思ったらできませんでした
var obj = ((x)=>{a:x})(10);
console.log(obj);//undefined

(2)オブジェクト返さなければいけました
var obj = ((x)=>x+10)(10);
console.log(obj);//20

(3)アロー使わずに即時の別の書き方ならいけました
var obj = ((x) => {return {a:x}})(10);
console.log(obj);

なぜ(1)は無理なのでしょうか
(4)文字型ならできました
var obj = ((x)=>'{a:'+x+'}')(10);
console.log(obj, typeof obj);
ので、(1)では{}が関数のブロックと認識されているということでしょうか?
しかしundefinedが返ってきてエラーもなしとは一体どういうことでしょうか?

426 = :

>>424
推察の通りオブジェクトじゃなく関数のブロックとして認識されてる

その中だとa:は単なるラベル
要するに()=>{1;}と同じで何も返さない関数が出来る

427 = :

>>426
なるほどラベルというものがあったのですね

428 = :

だからソース中にURLも書ける
http:がラベルで//以降がコメントになるから

429 = :

>>428
なるほど、だからか!

430 = :

>>410
こんなサービスがあったのですね
ありがとうございます

431 = :

なんか話ずれてないか?

> (1)アロー関数(さらに省略版)の即時実行できると思ったらできませんでした
> var obj = ((x)=>{a:x})(10);
> console.log(obj);//undefined

実行できてる。xをそのまま返すのではなく、alertをしてみれば
alertが表示されていることから、実行できてることがわかる
var obj = ((x)=>{a:alert(x)})(10);

即時実行かどうかは関係ない。以下は同じ意味
{}でくくると値を戻すのにreturnが必要なだけ

x => x + 1
x => (x + 1)
x => { return x + 1 }


アロー関数の右側は、単体の式(=一行)を使用するようにしたほうが良い。
{} を使うときは複数行で書きたい時。
だけどアロー関数は、関数を引数(値)のように見せて使うもので
複数行なんか書いてしまったら、関数のようにしか見えない

432 = :

アロー関数なんだから関数だろバカか
~のように見せて使うもの、なんて仕様のどこにも書かれてない。思い込み乙

433 = :

「関数」という分類の下に「アロー関数」とは別個の「普通の関数」という分類が暗黙的にあるんでしょ

(ES仕様に限らず)仕様にはそんな分類の定義は無くても、事実上想定されていることはよくある(「わざわざ定義するほどでもない」ので省略される)

434 = :

「俺の妄想は正しいんだ!書くまでもないから省略されてるだけだ!」

435 = :

>>431は合ってると思うが
関数の内容が一つのreturn文だけのときに"return "記述を省略できるのはアロー関数だけの仕様なんでしょ
この違いがあるんだから、「普通の関数」と「アロー関数」とが別々に存在しているといえる

んで、アロー関数は主に一return文の用法を想定して作られているとも言える

436 = :

自演乙。
.forEach(v => {console.log(v);})などは想定されていないと。

437 = :

主に を無視して0か100かの極論に持ってくの好きだね

438 = :

thisガン無視で主になんて言われても

440 = :

>事実上想定されていることはよくある
ソースplz

441 = :

>>440
わざわざ定義するほどでもないので省略されるんだそうだ。
無敵の論法じゃんw
いい歳こいてこんな詭弁恥ずかしくないのかね。

442 = :

>>441
これ詭弁ではないだろ

443 = :

Aである。

Aであると言うのなら、Aである証拠を出せ!

Aであることは当たり前なので、わざわざ書かれないのである。

444 = :

そりゃ最強だw

445 = :

>>443
命題の証明の際に誤った論理展開を紛れ込ませるのが詭弁
>>433は証明をしているわけではなく誤った「論理展開」を用いてもいない

446 = :

だから俺はソースplzとだけ書いているわけだな

447 = :

ソースはイルミナティによって隠蔽されているためありませんが、本当です。信じてください。

448 = :

そんなことを言ったら例えばJSではセミコロンが省略できるので
セミコロン無しで使うことが主に想定されてると言えるからな

つうか逆に組み立てて言えば
基本的にセミコロン無しで使える言語を望んで生み出された言語が
セミコロン無しで使うことが主に想定されてると言えるわけで

ならアロー関数が
主に一行で書く関数の理想の姿として作られたかというとそうではないわな

449 = :

イルミナティならしょうがない

450 = :

素朴な疑問です
以下ネットから拾ったソースなんですが
const version = "ES6";
if (version === "ES5") {
console.log("ECMAScript 5");
} else if (version === "ES6") {
console.log("ECMAScript 2015");
} else if (version === "ES7") {
console.log("ECMAScript 2016");
}
最後にelseがないこういうケースの場合elseで繋げる必要性はありますか?
if(){}
if(){}
if(){}
こう書くのと違いがあるのかないのかを教えて欲しいです 速くなるとかあるんでしょうか?
どなたか宜しくお願いします


←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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