私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ+ JavaScript の質問用スレッド vol.136 +
JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
Bがジェネレーターとして重い処理を書かないほうがいいのかと聞いてるのなら
毎回評価されるという解になるな
毎回評価されるという解になるな
いやジェネレータからイテレータ取り出してんのは最初だけだろ。
前回のyieldから次のyieldまでの処理は当然毎回走るが、それは当たり前じゃん。毎回走ってほしい部分が走ってほしくないってどんな状況よ
前回のyieldから次のyieldまでの処理は当然毎回走るが、それは当たり前じゃん。毎回走ってほしい部分が走ってほしくないってどんな状況よ
for (let i of [1, 2, 3]) {console.log(i)}
の結果が1 2 3になるか1 1 1になるかを自分で確かめることすら車輪の再発明()とか言ってやりたがらないとかクズ過ぎる。
質問回答のコミュニケーションコストの方がよっぽど高くつくと思うのだが。
の結果が1 2 3になるか1 1 1になるかを自分で確かめることすら車輪の再発明()とか言ってやりたがらないとかクズ過ぎる。
質問回答のコミュニケーションコストの方がよっぽど高くつくと思うのだが。
確かめるなら
for(let i of hoge()){
}
function hoge(){
console.log('hoge')
return [1, 2, 3]
}
じゃない?
for(let i of hoge()){
}
function hoge(){
console.log('hoge')
return [1, 2, 3]
}
じゃない?
>>253
当たり前とも言えるがそこは隠蔽されてもいるんだからさ
当たり前とも言えるがそこは隠蔽されてもいるんだからさ
どうでもいいけど何でforでlet使ってるの?
constにしないの?
for (const i of arr) {
}
constにしないの?
for (const i of arr) {
}
>>258
古いブラウザ対策
古いブラウザ対策
質問者がlet使ってるからでしょ
エラーでもないのに関係ないとこ変えると回答の本質がぼやける
エラーでもないのに関係ないとこ変えると回答の本質がぼやける
>>260
確かにそうだな、すまん
確かにそうだな、すまん
むしろなんでここでconst置けるような仕様にしたのか委員会を問い詰めたい。
ループ毎に値が変わる変数をconst宣言できるとかw
for-ofの()内はconst禁止でよかった。var/letなら直感に反しない。
トップレベルでは…
const A = 1;
A = 2; // エラー
なのにfor-ofでは…
for (const A of [1, 2]) {
console.log(A);
}
1
2 // for-ofちゃんナニ勝手にconst改変してくれちゃってんの??自分のスコープだからってやりたい放題か!?こんな無法が許されていいのか!!
ループ毎に値が変わる変数をconst宣言できるとかw
for-ofの()内はconst禁止でよかった。var/letなら直感に反しない。
トップレベルでは…
const A = 1;
A = 2; // エラー
なのにfor-ofでは…
for (const A of [1, 2]) {
console.log(A);
}
1
2 // for-ofちゃんナニ勝手にconst改変してくれちゃってんの??自分のスコープだからってやりたい放題か!?こんな無法が許されていいのか!!
え?マジで言ってる?
for-of のlet/constはループ毎に毎回宣言してるのと同じじゃん
constによる最適化も期待できるんじゃないの
for-of のlet/constはループ毎に毎回宣言してるのと同じじゃん
constによる最適化も期待できるんじゃないの
>>263
const以前に、ブロックスコープの挙動は理解してないような
for (let i = 0; i < 4; i++)
document.addEventListener('click', e => console.log(i), false);
const以前に、ブロックスコープの挙動は理解してないような
for (let i = 0; i < 4; i++)
document.addEventListener('click', e => console.log(i), false);
違う。ブロックスコープが毎回発生するのは当たり前でそれだけでは説明できない。
それとは別に初期化句の変数宣言は特別扱いされる。
それとは別に初期化句の変数宣言は特別扱いされる。
いやうまいことなってんだろうけどさ、
せいぜい>>264みたいな理解になるわけよパッと見。
const A = 1
const A = 2 // エラー
なのにfor ofのカッコの中に書くのはなんで許されるのって。
for (const A of [1, 2]) {
console.log(A);
}
が
{
const iter = [1, 2][Symbol.iterator]()
while (true) {
const {value: A, done} = iter.next()
if (done) break;
console.log(A)
}
}
のような動作になるだなんてfor of構文の見てくれからは推測不可能だろ。
for (const A of [1, 2])の字面だけ見たらループごとにAに1、2と代入されるように見える。
というか明らかにそう見えるような構文にしてる。
そう見えるようにしたいんだったらその場所ではconst禁止にしとけって話。
せいぜい>>264みたいな理解になるわけよパッと見。
const A = 1
const A = 2 // エラー
なのにfor ofのカッコの中に書くのはなんで許されるのって。
for (const A of [1, 2]) {
console.log(A);
}
が
{
const iter = [1, 2][Symbol.iterator]()
while (true) {
const {value: A, done} = iter.next()
if (done) break;
console.log(A)
}
}
のような動作になるだなんてfor of構文の見てくれからは推測不可能だろ。
for (const A of [1, 2])の字面だけ見たらループごとにAに1、2と代入されるように見える。
というか明らかにそう見えるような構文にしてる。
そう見えるようにしたいんだったらその場所ではconst禁止にしとけって話。
俺も似たようなことを思ったことがある
for(const i = 0; i < a.length; i++)
はエラーになるんだよな。
for(const i = 0; i < a.length; i++)
はエラーになるんだよな。
初学者が横から疑問が湧いたのですが
逆にどうしてfor-ofではlet Aじゃなくてconst Aを使うべきだと言えるのか、良く分からないです
だってループ自体の目的がAを改変することだったらletかvarにするしかないですよね?
それともfor-ofではAに渡されるのはBの一部の実体ではなくコピーなんですか?
(Aを書き換えてもBには反映されない)
だとしたらとんでもなく用途が限られるように思うのですが。
逆にどうしてfor-ofではlet Aじゃなくてconst Aを使うべきだと言えるのか、良く分からないです
だってループ自体の目的がAを改変することだったらletかvarにするしかないですよね?
それともfor-ofではAに渡されるのはBの一部の実体ではなくコピーなんですか?
(Aを書き換えてもBには反映されない)
だとしたらとんでもなく用途が限られるように思うのですが。
.valueでinputのテキストボックス内に代入するとsubmitボタン押しても無反応になります
手動でキーボードから代入すると問題ないのですが何が原因なのでしょうか
手動でキーボードから代入すると問題ないのですが何が原因なのでしょうか
強いて言うと、エラーは無反応です
コンソール開いてconsoleとnetworkみてもウンともすんともです
コンソール開いてconsoleとnetworkみてもウンともすんともです
自己解決です>>276
エラーをあらためて探っていると
コンソールの各エラー項目の表示非表示チェックボックスが乱れていました
で、全部表示するようにしたら
TypeError: X[g].exec is not a function
というエラーが出てきました
どうやらObject.prototypeをいじっていのがいけなかったようです
関数にしたらsubmitも反応してくれるようになりました
エラーをあらためて探っていると
コンソールの各エラー項目の表示非表示チェックボックスが乱れていました
で、全部表示するようにしたら
TypeError: X[g].exec is not a function
というエラーが出てきました
どうやらObject.prototypeをいじっていのがいけなかったようです
関数にしたらsubmitも反応してくれるようになりました
>>271
それいいな。
const forOf = (iterable, callback) => {
const iter = iterable[Symbol.iterator]()
for (let {value, done} = iter.next(); !done; {value, done} = iter.next()) callback(value)
}
Array.prototype.forEachと同じ感じで使える
forOf([1, 2], A => {
console.log(A)
})
1
2
forOf('ab', A => {
console.log(A)
})
"a"
"b"
ループの一時変数にletだconstだのムダな議論なくなるし。
まあ[...iterable].forEachでいいか…
それいいな。
const forOf = (iterable, callback) => {
const iter = iterable[Symbol.iterator]()
for (let {value, done} = iter.next(); !done; {value, done} = iter.next()) callback(value)
}
Array.prototype.forEachと同じ感じで使える
forOf([1, 2], A => {
console.log(A)
})
1
2
forOf('ab', A => {
console.log(A)
})
"a"
"b"
ループの一時変数にletだconstだのムダな議論なくなるし。
まあ[...iterable].forEachでいいか…
そもそもScalaみたくfor...ofならvarもletもconstも不要で自動的にconst扱いにすれば良かったんよ
将来的にそうなってほしい
将来的にそうなってほしい
>>281
これで十分なものをなぜわざわざfor(const/let/var item of iterable)とか言うクソ構文を作ったのか
for(const item of iterable)と書かれて仕様知らないやつが初見でitemがループ毎に違う値入ってるとは夢にも思わないだろ。
これで十分なものをなぜわざわざfor(const/let/var item of iterable)とか言うクソ構文を作ったのか
for(const item of iterable)と書かれて仕様知らないやつが初見でitemがループ毎に違う値入ってるとは夢にも思わないだろ。
お前らが何を言ってんのか理解できん
for-ofでのletとconstはまったく違うし、どっちも必要
for-ofでのletとconstはまったく違うし、どっちも必要
console.logってbashでいうechoみたいにコードが読み込み・実行される際にしか出ないもんだと思ってたけど、あとから更新されたりするの?
>>284につきるとしか
>>286
お前こそなに言ってんだ。for ofでletは不要。
let B = [1, 2]
for (const A of B) {
A = 6
console.log(A);
}
//=> エラー
let B = [1, 2]
for (let A of B) {
A = 6
console.log(A);
}
//=> 6 6
console.log(B)
//=> [1, 2]
お前こそなに言ってんだ。for ofでletは不要。
let B = [1, 2]
for (const A of B) {
A = 6
console.log(A);
}
//=> エラー
let B = [1, 2]
for (let A of B) {
A = 6
console.log(A);
}
//=> 6 6
console.log(B)
//=> [1, 2]
初心者でjs勉強終わった人がフロントのフレームワークで何からやった方がいいかの議論
jsのフレームワークって小回り効かないのがなぁ
jQuery辺りのライブラリで十分、というか生jsしっかり覚えたほうがつぶしが利いて良い
jQuery辺りのライブラリで十分、というか生jsしっかり覚えたほうがつぶしが利いて良い
jqueryやったことない頃
生jsだけはしっかり把握してたから、実装は出来ないものの人のコードは読めたわ
まぁ他の言語も同じだけどね
生jsだけはしっかり把握してたから、実装は出来ないものの人のコードは読めたわ
まぁ他の言語も同じだけどね
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
みんなの評価 : 類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.131 + (1000) - [97%] - 2017/1/25 8:01
- + JavaScript の質問用スレッド vol.135 + (1002) - [97%] - 2018/11/23 10:30
- + JavaScript の質問用スレッド vol.130 + (974) - [97%] - 2016/10/26 14:18
- + JavaScript の質問用スレッド vol.116 + (1002) - [97%] - 2014/7/1 0:45
- + JavaScript の質問用スレッド vol.130 + (1001) - [97%] - 2017/11/25 20:45
- + JavaScript の質問用スレッド vol.131 + (1004) - [97%] - 2018/3/7 13:30
- + JavaScript の質問用スレッド vol.132 + (1001) - [97%] - 2018/4/19 11:00
- + JavaScript の質問用スレッド vol.133 + (1001) - [97%] - 2018/6/8 10:45
- + JavaScript の質問用スレッド vol.106 + (1001) - [97%] - 2013/7/20 9:30
- + JavaScript の質問用スレッド vol.134 + (1001) - [97%] - 2018/8/3 23:15
- + JavaScript の質問用スレッド vol.137 + (1003) - [97%] - 2019/3/26 11:46
- + JavaScript の質問用スレッド vol.138 + (1004) - [97%] - 2019/4/20 23:45
- + JavaScript の質問用スレッド vol.139 + (1001) - [97%] - 2019/5/27 15:15
- + JavaScript の質問用スレッド vol.126 + (952) - [97%] - 2015/11/18 13:15
- + JavaScript の質問用スレッド vol.126 + (348) - [97%] - 2023/1/12 17:00
- + JavaScript の質問用スレッド vol.113 + (1001) - [95%] - 2014/3/15 21:30
- + JavaScript の質問用スレッド vol.119 + (1002) - [95%] - 2014/10/3 15:30
トップメニューへ / →のくす牧場書庫について