JavaScript を自ら学ぶ人のための質問スレッドです。
>>2-6のテンプレを読んだ上で質問してください。次スレは>>950が>>2のテンプレ案(本スレで改善案があれば考慮)を元に立ててください
■質問を書く上で
(1) 煽り、コード制作依頼等、人を不快にさせる投稿はご遠慮下さい。公序良俗を守った応対を心がけてください。
(2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。
(ブラクラ、[戻る], [閉じる], [クリック] の妨害、画面占有など)
(3) 質問者及び議論を行う人はメール欄を空欄にし、名前にレス番を入れることを強く推奨します。回答者はなりすましを判断できませんので、なりすましが現れても自己責任となります。
(4) 常に自発的に調べる心構えを持ってください。
具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。
わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。
(5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。
(6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。
※必ず「問題の事象が再現されること」を確認してください。
必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。
(7) サンプルコードに HTML が含まれる場合は http://validator.w3.org/ で [Check] してみてください。
(8) 質問を具体的かつ詳細に書くと回答を得られやすいです。>>2の質問テンプレートを活用してみてください。
(9) ライブラリ関連の質問は禁止です。関連スレにあるライブラリ質問スレで質問して下さい。
(10) 時にはあなたが望む「答え」だけでなく、「意見」などが寄せられる場合もあります。
※前スレ
+ JavaScript の質問用スレッド vol.123 +
https://mevius.5ch.net/test/read.cgi/tech/1491143438/
VIPQ2_EXTDAT: checked:vvvvvv:1000:512:: EXT was configured
探検
+ JavaScript の質問用スレッド vol.124 +
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 8a52-hQZx [61.87.108.223])
2021/11/10(水) 15:24:24.80ID:jxD2VXPG0611デフォルトの名無しさん (ブーイモ MM4e-FJJc [163.49.201.76])
2022/03/25(金) 02:20:07.52ID:IB939EjQM >>610
評価前にscoreの値が+1される
インクリメント (++) - JavaScript | MDN
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Increment
評価前にscoreの値が+1される
インクリメント (++) - JavaScript | MDN
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Increment
612デフォルトの名無しさん (ワッチョイ d7ff-SjDQ [180.198.12.19])
2022/03/25(金) 03:35:53.60ID:Yg2YvIk20 >>611
ありがとうございます!
ありがとうございます!
613デフォルトの名無しさん (ワッチョイ c701-Jl5v [126.241.27.53])
2022/03/25(金) 22:15:14.80ID:mxqYNiam0 async/awaitのことですが
await hoge();
としたときに、hogeが実行される前に何かを待つのか、
それともhogeが実行されその完了を待つのか、
どちらでしょうか
それと、promiseを返す関数かそうでないかはどうやって見分けますか
await hoge();
としたときに、hogeが実行される前に何かを待つのか、
それともhogeが実行されその完了を待つのか、
どちらでしょうか
それと、promiseを返す関数かそうでないかはどうやって見分けますか
614デフォルトの名無しさん (アウアウクー MM33-IDr3 [36.11.229.72])
2022/03/26(土) 00:51:31.77ID:m2MNxml2M async関数は記述は普通の関数だけどPromiseを返す関数。awaitは完了を待つ
615デフォルトの名無しさん (オッペケ Sr33-ziqS [126.194.30.143])
2022/03/26(土) 08:38:54.66ID:gURe/O9Rr awaitは「あ、待って」って覚えるとよい
616デフォルトの名無しさん (アウアウウー Sa23-K/1G [106.146.89.17])
2022/03/26(土) 09:09:03.44ID:KPWAIzDZa 完了を待つには待つけど
何を以て完了とするかはそれぞれの関数が決めること
見分ける方法は無いしそもそも得体の知れない関数を使っちゃ駄目
何を以て完了とするかはそれぞれの関数が決めること
見分ける方法は無いしそもそも得体の知れない関数を使っちゃ駄目
617デフォルトの名無しさん (ワッチョイ 5f01-ZRWY [126.241.27.53])
2022/03/26(土) 10:06:13.85ID:PyuIzITI0 こんにちは>>613です
蒸し返しですみませんが
awaitをつける行じたいがapiなどの重い処理なんですかね
それともawaitはthenのような意味で処理を待つ行なんですかね
つまりawaitは待つ側なのか、待たされる側なのか、という質問です
蒸し返しですみませんが
awaitをつける行じたいがapiなどの重い処理なんですかね
それともawaitはthenのような意味で処理を待つ行なんですかね
つまりawaitは待つ側なのか、待たされる側なのか、という質問です
618デフォルトの名無しさん (アウアウクー MM33-IDr3 [36.11.229.72])
2022/03/26(土) 10:17:45.12ID:m2MNxml2M awaitは非同期処理の完了を待つ。非同期処理を順次実行する時に使う。
処理待ちでブラウザが無反応にならないようにする目的ならsetTimeoutとかsetIntervalとかWeb Workers使うんじゃないかな
処理待ちでブラウザが無反応にならないようにする目的ならsetTimeoutとかsetIntervalとかWeb Workers使うんじゃないかな
619613 (ワッチョイ 5f01-ZRWY [126.241.27.53])
2022/03/26(土) 11:57:59.24ID:PyuIzITI0 >>617で書いた、「待つ側」と「待たされる側」てのは同じ意味でしたねw
待つ側なのか、待たせる側なのか、という質問です
待つ側なのか、待たせる側なのか、という質問です
620デフォルトの名無しさん (ワッチョイ df4e-jbHl [210.138.216.243])
2022/03/27(日) 05:19:16.05ID:FEuFUFUF0 >>581
Top-level Await
従来、JavaScriptのawaitはasync function内でしか使えなかったが、
今後はasync functionの外、top levelでもawaitが使えるようになる
ES2022より
Top-level Await
従来、JavaScriptのawaitはasync function内でしか使えなかったが、
今後はasync functionの外、top levelでもawaitが使えるようになる
ES2022より
621デフォルトの名無しさん
2022/03/27(日) 15:29:56.04ID:M7t4c+zh クロージャーであるsetter,getterを持つクラスを作ったのですが
クロージャーをセットするときにパラメーターを渡したいとき、どうすればいいのでしょうか
class Hoge{
constructor(){
this._f=null;
}
set f(f){
this._f=f();
}
get f(){
return this._f;
}
}
const h = new Hoge(10,20);
h.f = function(){
let r=0;
return {
sum:(a,b)=>(r+=a+b),
r:()=>console.log(r)
}
}
h.f.sum(1,2);
h.f.sum(3,4);
h.f.r(); // 10
↑はこれで良いのですが、例えば
h.f = function(m){
let r=0;
return {
sum:(a,b)=>(r+=(a+b)*m),
r:()=>console.log(r)
}
}
みたいにパラメーターmを渡したいです
しかし、setterには引数1つしか渡せないので詰みました。
かと言って
f(f,prms={}){ this._f=f(prms) }
get f(){}
はできません
setter,getterを使わずに、一時保存的な変数を増やしてゴリゴリ書くしかないでしょうか
つづく
クロージャーをセットするときにパラメーターを渡したいとき、どうすればいいのでしょうか
class Hoge{
constructor(){
this._f=null;
}
set f(f){
this._f=f();
}
get f(){
return this._f;
}
}
const h = new Hoge(10,20);
h.f = function(){
let r=0;
return {
sum:(a,b)=>(r+=a+b),
r:()=>console.log(r)
}
}
h.f.sum(1,2);
h.f.sum(3,4);
h.f.r(); // 10
↑はこれで良いのですが、例えば
h.f = function(m){
let r=0;
return {
sum:(a,b)=>(r+=(a+b)*m),
r:()=>console.log(r)
}
}
みたいにパラメーターmを渡したいです
しかし、setterには引数1つしか渡せないので詰みました。
かと言って
f(f,prms={}){ this._f=f(prms) }
get f(){}
はできません
setter,getterを使わずに、一時保存的な変数を増やしてゴリゴリ書くしかないでしょうか
つづく
622デフォルトの名無しさん
2022/03/27(日) 15:32:25.21ID:M7t4c+zh つづき>>621
苦肉の策として、h.fに配列を渡すことにしました。
が、、コレジャナイ感が・・
しかし正解がわからないのでこれで良いのかどうかすらわかりません。
何か別にスマートな書き方はあるのでしょうか
class Hoge{
constructor(){
this._f=null;
}
set f(ary){
this._f=ary[0](ary[1]);
}
get f(){
return this._f;
}
}
const h = new Hoge(10,20);
h.f = [function({m=1}){
let r=0;
return {
sum:(a,b)=>(r+=a+b),
r:(msg)=>console.log(msg,r*m)
}
},{m:0.5}];
h.f.sum(1,2);
h.f.sum(3,4);
h.f.r("(1+2+3+4)*0.5 = ");
苦肉の策として、h.fに配列を渡すことにしました。
が、、コレジャナイ感が・・
しかし正解がわからないのでこれで良いのかどうかすらわかりません。
何か別にスマートな書き方はあるのでしょうか
class Hoge{
constructor(){
this._f=null;
}
set f(ary){
this._f=ary[0](ary[1]);
}
get f(){
return this._f;
}
}
const h = new Hoge(10,20);
h.f = [function({m=1}){
let r=0;
return {
sum:(a,b)=>(r+=a+b),
r:(msg)=>console.log(msg,r*m)
}
},{m:0.5}];
h.f.sum(1,2);
h.f.sum(3,4);
h.f.r("(1+2+3+4)*0.5 = ");
623デフォルトの名無しさん (ワッチョイ 5f01-Y7qZ [126.3.43.63])
2022/03/27(日) 18:02:56.87ID:tt2ZDA7G0 >>622
setterに関数を渡すのではなく、クロージャを渡すのではだめ?
class Hoge{
constructor(){this._f=null}
set f(f) {this._f = f}
get f() { return this._f}
}
const h = new Hoge()
h.f = (m => {
let r=0;
return {sum: (a,b) => r+=(a+b)*m, r:() => console.log(r)}
})(3);
h.f.sum(1,2);
h.f.sum(3,4);
h.f.r()
setterに関数を渡すのではなく、クロージャを渡すのではだめ?
class Hoge{
constructor(){this._f=null}
set f(f) {this._f = f}
get f() { return this._f}
}
const h = new Hoge()
h.f = (m => {
let r=0;
return {sum: (a,b) => r+=(a+b)*m, r:() => console.log(r)}
})(3);
h.f.sum(1,2);
h.f.sum(3,4);
h.f.r()
624デフォルトの名無しさん
2022/03/27(日) 18:23:49.57ID:M7t4c+zh >>623
いえ全然アリです
個人的に
function hogeclosure1({m,n}){return ()=>}
function hogeclosure2({m,n}){return ()=>}
var prms1={m:1,n:2};
var prms2={m:11,n:22};
h.f(hogeclosure1,prms2);
な書き方がしたいなと思ったのですが(prmsの精査や加工をクラス側で処理できるので)、
h.f=hogeclosure1(prms);
検討してみます
ありがとうございました
いえ全然アリです
個人的に
function hogeclosure1({m,n}){return ()=>}
function hogeclosure2({m,n}){return ()=>}
var prms1={m:1,n:2};
var prms2={m:11,n:22};
h.f(hogeclosure1,prms2);
な書き方がしたいなと思ったのですが(prmsの精査や加工をクラス側で処理できるので)、
h.f=hogeclosure1(prms);
検討してみます
ありがとうございました
625デフォルトの名無しさん (ブーイモ MM83-QNkB [210.148.125.22])
2022/03/27(日) 18:42:46.38ID:V2wsdbVLM626デフォルトの名無しさん (ワッチョイ 5f01-Y7qZ [126.3.43.63])
2022/03/27(日) 19:22:43.75ID:tt2ZDA7G0 >>622
setterに関数を渡すのではなく、クロージャを渡すのではだめ?
class Hoge{
constructor(){this._f=null}
set f(f) {this._f = f}
get f() { return this._f}
}
const h = new Hoge()
h.f = (m => {
let r=0;
return {sum: (a,b) => r+=(a+b)*m, r:() => console.log(r)}
})(3);
h.f.sum(1,2);
h.f.sum(3,4);
h.f.r()
setterに関数を渡すのではなく、クロージャを渡すのではだめ?
class Hoge{
constructor(){this._f=null}
set f(f) {this._f = f}
get f() { return this._f}
}
const h = new Hoge()
h.f = (m => {
let r=0;
return {sum: (a,b) => r+=(a+b)*m, r:() => console.log(r)}
})(3);
h.f.sum(1,2);
h.f.sum(3,4);
h.f.r()
627デフォルトの名無しさん
2022/03/29(火) 22:07:09.61ID:wVAC/++3 頭がこんがらがってくる事象に遭遇しました
var arr=[[1,2,3],[4,5,6],[7,8,9]];
function hoge(){
function h(arr){
var res=[];
for(var i=0;i<arr.length;i++){
var _d=arr[i];
_d[1]=_d[1]*2;
res.push(_d);
}
return res
}
return (arr)=>h(arr)
}
var ho=hoge();
console.log(ho(arr.concat()));//1回目
console.log(ho(arr.concat()));//2回目
1回目、2回目
共に.concat()でディープコピーしたデータを渡したはずなのですが
arr[i][1]=arr[i][1]*2のとこでなぜか前回のデータが反映されてます
クロージャーだから・・?という何となくしかわからないのですが
そうならないためにarr.concat()したのにな???という感じです。
for文でvar _d=arr[1].concat()としてやるともちろん1回目も2回目も同じ結果になります。
ただ、arr[1].concat()しなかった場合も、そもそも渡したarrがarr.concat()なので
function hに渡され処理した結果も独立のデータになりそうな気がするのですが、なぜなんでしょうか??
var arr=[[1,2,3],[4,5,6],[7,8,9]];
function hoge(){
function h(arr){
var res=[];
for(var i=0;i<arr.length;i++){
var _d=arr[i];
_d[1]=_d[1]*2;
res.push(_d);
}
return res
}
return (arr)=>h(arr)
}
var ho=hoge();
console.log(ho(arr.concat()));//1回目
console.log(ho(arr.concat()));//2回目
1回目、2回目
共に.concat()でディープコピーしたデータを渡したはずなのですが
arr[i][1]=arr[i][1]*2のとこでなぜか前回のデータが反映されてます
クロージャーだから・・?という何となくしかわからないのですが
そうならないためにarr.concat()したのにな???という感じです。
for文でvar _d=arr[1].concat()としてやるともちろん1回目も2回目も同じ結果になります。
ただ、arr[1].concat()しなかった場合も、そもそも渡したarrがarr.concat()なので
function hに渡され処理した結果も独立のデータになりそうな気がするのですが、なぜなんでしょうか??
628デフォルトの名無しさん
2022/03/29(火) 22:19:49.44ID:wVAC/++3 補足です
改めてクロージャー無しでやってみたら
function hoge(){
var res=[];
for(var i=0;i<arr.length;i++){
var _d=arr[i];
_d[1]=_d[1]*2;
res.push(_d);
}
return res
}
var arr=[[1,2,3],[4,5,6],[7,8,9]];
console.log(hoge(arr.concat()));//1回目
console.log(hoge(arr.concat()));//2回目
console.log(arr);
これもまた変更されてました・・
改めてクロージャー無しでやってみたら
function hoge(){
var res=[];
for(var i=0;i<arr.length;i++){
var _d=arr[i];
_d[1]=_d[1]*2;
res.push(_d);
}
return res
}
var arr=[[1,2,3],[4,5,6],[7,8,9]];
console.log(hoge(arr.concat()));//1回目
console.log(hoge(arr.concat()));//2回目
console.log(arr);
これもまた変更されてました・・
629デフォルトの名無しさん
2022/03/29(火) 22:22:32.33ID:wVAC/++3 連投すみません
>>628はhoge()で引数とってないのでおかしいですね
こうでした↓
function hoge(data){
var res=[];
for(var i=0;i<data.length;i++){
var _d=data[i];
_d[1]=_d[1]*2;
res.push(_d);
}
return res
}
var arr=[[1,2,3],[4,5,6],[7,8,9]];
console.log(hoge(arr.concat()));//1回目
console.log(hoge(arr.concat()));//2回目
console.log(arr);
>>628はhoge()で引数とってないのでおかしいですね
こうでした↓
function hoge(data){
var res=[];
for(var i=0;i<data.length;i++){
var _d=data[i];
_d[1]=_d[1]*2;
res.push(_d);
}
return res
}
var arr=[[1,2,3],[4,5,6],[7,8,9]];
console.log(hoge(arr.concat()));//1回目
console.log(hoge(arr.concat()));//2回目
console.log(arr);
630デフォルトの名無しさん
2022/03/29(火) 22:37:48.87ID:wVAC/++3 自己解決しました
.concat()ディープコピーかと思ったらシャローコピーでした・・
hoge(JSON.parse(JSON.stringify(arr)));
で行けました・・
.concat()ディープコピーかと思ったらシャローコピーでした・・
hoge(JSON.parse(JSON.stringify(arr)));
で行けました・・
631デフォルトの名無しさん (ワッチョイ 5f01-c/bJ [126.161.203.60])
2022/03/31(木) 02:46:41.93ID:MFrlKIWw0 すみません。
初心者なんですが、@などのデコレータ?の意味が調べてもよくわからないんですけど教えてくれませんか?
初心者なんですが、@などのデコレータ?の意味が調べてもよくわからないんですけど教えてくれませんか?
632デフォルトの名無しさん (ワッチョイ 5f01-vpfm [60.153.210.43])
2022/03/31(木) 14:54:28.12ID:K6LuIPS40 javascriptって、キャッチされなかった例外が最終的に集約されるハンドラってある?
.NETのDispatcherUnhandledExceptionみたいなやつ
ググってみたけど、window.unhandledrejectionくらいしか見つからんかった
これって名前的にpromiseのrejectを実装してないときにしか使われんよね?
.NETのDispatcherUnhandledExceptionみたいなやつ
ググってみたけど、window.unhandledrejectionくらいしか見つからんかった
これって名前的にpromiseのrejectを実装してないときにしか使われんよね?
633デフォルトの名無しさん (ワッチョイ dfe5-gZpx [114.171.120.178])
2022/03/31(木) 16:49:24.25ID:QdDep3ZF0 onerror
634デフォルトの名無しさん (ワッチョイ 5f01-vpfm [60.153.210.43])
2022/03/31(木) 23:41:59.53ID:K6LuIPS40 dクス
調べてみるとonerrorだとpromiseのrejectはハンドリングしてくれないっぽいね
onerrorとunhandledreject両方を使うのがいいんかなぁ
awaitでrejectしたときってどっちにハンドリングされるんだろ?明日実際に試してみるかー
調べてみるとonerrorだとpromiseのrejectはハンドリングしてくれないっぽいね
onerrorとunhandledreject両方を使うのがいいんかなぁ
awaitでrejectしたときってどっちにハンドリングされるんだろ?明日実際に試してみるかー
635デフォルトの名無しさん (ワッチョイ 5f2c-XwpL [180.44.185.237])
2022/04/01(金) 15:19:09.19ID:PU7Zi1lY0 非同期は文脈が異なる・異世界だから、通信できない
通信不能な物に対しては、timeout ぐらいしか、やりようがない
通信不能な物に対しては、timeout ぐらいしか、やりようがない
636デフォルトの名無しさん (ワッチョイ 7d10-hrnX [180.12.82.129])
2022/04/02(土) 18:01:02.86ID:3Re6Hfed0 スクロールバーがスクロール量500を超えたら画像を徐々に濃くして表示、500より少なかったら画像を徐々に薄くして非表示にするのってどうやるんですか?
スクロール方向で場合分けしてスクロールバーが500をまたいだかどうか判定して
setIntervalを使ってopacityで濃くしたり薄くしたりするしかないんですか?
スクロール方向で場合分けしてスクロールバーが500をまたいだかどうか判定して
setIntervalを使ってopacityで濃くしたり薄くしたりするしかないんですか?
637デフォルトの名無しさん (ワッチョイ 7d2c-8SQp [180.44.185.237])
2022/04/02(土) 18:43:50.54ID:YPKLSNfQ0 スクロール位置で判定すれば?
scrollTop だったかな?
scrollTop だったかな?
638デフォルトの名無しさん (ワッチョイ ee01-nSWI [111.188.59.150])
2022/04/02(土) 21:11:08.49ID:YAja5EWm0639デフォルトの名無しさん (ワッチョイ 0d01-RJ9h [126.241.27.53])
2022/04/03(日) 15:30:48.81ID:oIYvxJGU0 奇抜なアイデアでもググると出てきてしまう昨今ですが
あっと驚く理不尽な処理はありませんか
棺桶あけたら自分が中にいましたみたいな
あっと驚く理不尽な処理はありませんか
棺桶あけたら自分が中にいましたみたいな
640デフォルトの名無しさん (ワッチョイ ee01-nSWI [111.188.59.150])
2022/04/03(日) 22:20:40.81ID:apGbIMaW0 >>639
挙動は仕様書に書かれているため、仕様を理解すればするほど驚く機会は少なくなる
普段から勉強をせず、プログラミング系サイトを巡回すれば、「あっと驚く理不尽な処理」に出会える可能性を高められるだろう
(まともな技術者なら自らの無知を恥じるべきだろうが)
挙動は仕様書に書かれているため、仕様を理解すればするほど驚く機会は少なくなる
普段から勉強をせず、プログラミング系サイトを巡回すれば、「あっと驚く理不尽な処理」に出会える可能性を高められるだろう
(まともな技術者なら自らの無知を恥じるべきだろうが)
641デフォルトの名無しさん (ワッチョイ db10-MExA [180.12.82.129])
2022/04/09(土) 18:27:31.25ID:d8bX3KTm0 ページをスムーズに移動するときscrollToを使いますが
これみたいにelementをスムーズに移動させる関数はありますか?
これみたいにelementをスムーズに移動させる関数はありますか?
642デフォルトの名無しさん (オッペケ Sr3b-9is6 [126.158.245.153])
2022/04/09(土) 19:11:11.85ID:NsLa5u+dr jsでスムーズは無理なのでcssでやってくれ
643デフォルトの名無しさん (ワンミングク MM8a-vK7a [153.155.2.114])
2022/04/09(土) 19:46:32.17ID:mW5Jyv0xM GSAPとか使えば楽に動かせる
644デフォルトの名無しさん (テテンテンテン MMb6-TBAu [133.106.51.175])
2022/04/13(水) 09:13:53.65ID:Qi5auZGwM <div id="test">
<a href="aaa.html"></a>
<a href="bbb.html"></a>
</div>
このdivの中にあるhrefを全て取得するには
どうやったらいいんですか?
aにidやclassはつけないものとします。
<a href="aaa.html"></a>
<a href="bbb.html"></a>
</div>
このdivの中にあるhrefを全て取得するには
どうやったらいいんですか?
aにidやclassはつけないものとします。
645デフォルトの名無しさん (ワッチョイ 5f01-gdMw [114.48.123.235])
2022/04/13(水) 09:24:08.70ID:j7E4iT5n0646デフォルトの名無しさん (ワッチョイ b602-9+GH [119.106.222.232])
2022/04/14(木) 06:34:43.15ID:hMI8sVN30 document.querySelectorAll
647デフォルトの名無しさん (ワッチョイ b72f-jtTv [218.220.251.107])
2022/04/14(木) 12:38:00.60ID:VhBZ5PIH0 document.querySelectorはいま流行りなんですか?
document.getElementByIdしか知らなかったけど。
document.getElementByIdしか知らなかったけど。
648デフォルトの名無しさん (オッペケ Sr3b-9is6 [126.253.160.247])
2022/04/14(木) 13:03:41.45ID:e+FW9n+1r 流行りっていうかもうかなり昔からあるけどな
649デフォルトの名無しさん (ワッチョイ 5f01-gdMw [114.48.122.69])
2022/04/14(木) 13:53:57.95ID:AzvcwCnH0 流行りで決めるスタンスは分からんが、ノード検索系は既に成熟してる感ある
xpathはなぜか最新仕様が実装されないけど
xpathはなぜか最新仕様が実装されないけど
650デフォルトの名無しさん (ワッチョイ cedb-L4Li [217.178.96.78])
2022/04/15(金) 10:18:55.82ID:sZWwv8hr0 javascriptって初心者向けと言われているけど、難しいよね?
651デフォルトの名無しさん (ワッチョイ 5f63-OCtv [114.175.255.213])
2022/04/15(金) 11:05:45.21ID:DZhoNVLD0 初心者向けと言われてるのを知らない
652デフォルトの名無しさん (ワッチョイ 5f01-gdMw [114.48.122.69])
2022/04/15(金) 12:40:06.63ID:28sm60Uu0 >>650
環境構築の敷居が低いだけ
環境構築の敷居が低いだけ
653デフォルトの名無しさん (ワッチョイ 31ce-8pPm [182.170.148.142])
2022/04/17(日) 12:45:46.17ID:lD7JO0wI0 javascriptの勉強中です。
Wordでコード試作してEdgeのコンソールにコピペしたら、クォーテーションやダブルクォーテーションのある行で必ずエラーになります。
どうもwordで書いたことが問題らしいです。
同じコードを色んなファイル形式で書いてからコンソールで検証した結果、
・最初からコンソールに直接書くと、正常に作動
・テキストドキュメントに書いてコンソールにコピペすると、正常に作動
・最初からコンソールに書き込んだものをwordにコピペして、フォントを適当に変えた後、コンソールにコピペすると正常に作動
・wordに書いたコードをコンソールにコピペするとクオーテーションのある行でエラーになる。
・wordで書いたコード(そのままコンソールにコピペするとエラー)の全てのクォーテーションに、コンソールに書いたクォーテーションを上書きコピペ(元の書式を保持)すると、コンソール上で正常に作動するようになる
という検証結果になりました。
試作コードをwordじゃなくテキストドキュメントで作るようにしてからは、今のところ問題は起きていないです。
で、質問なんですが、
どうもword形式で書いたクォーテーションやダブルクォーテーションは、内部的に問題がありそうなのですが、理由を詳しく知っている方はいますか?
あと、編集や保存が楽なテキスト形式でコードを試作したいとき、みなさんは何を使ってますか?
Wordでコード試作してEdgeのコンソールにコピペしたら、クォーテーションやダブルクォーテーションのある行で必ずエラーになります。
どうもwordで書いたことが問題らしいです。
同じコードを色んなファイル形式で書いてからコンソールで検証した結果、
・最初からコンソールに直接書くと、正常に作動
・テキストドキュメントに書いてコンソールにコピペすると、正常に作動
・最初からコンソールに書き込んだものをwordにコピペして、フォントを適当に変えた後、コンソールにコピペすると正常に作動
・wordに書いたコードをコンソールにコピペするとクオーテーションのある行でエラーになる。
・wordで書いたコード(そのままコンソールにコピペするとエラー)の全てのクォーテーションに、コンソールに書いたクォーテーションを上書きコピペ(元の書式を保持)すると、コンソール上で正常に作動するようになる
という検証結果になりました。
試作コードをwordじゃなくテキストドキュメントで作るようにしてからは、今のところ問題は起きていないです。
で、質問なんですが、
どうもword形式で書いたクォーテーションやダブルクォーテーションは、内部的に問題がありそうなのですが、理由を詳しく知っている方はいますか?
あと、編集や保存が楽なテキスト形式でコードを試作したいとき、みなさんは何を使ってますか?
654デフォルトの名無しさん (ワッチョイ d114-R9gE [124.101.164.198])
2022/04/17(日) 12:49:32.71ID:U+v/j1Oq0 文字コードやないんか?
655デフォルトの名無しさん (ワッチョイ d114-R9gE [124.101.164.198])
2022/04/17(日) 12:51:06.49ID:U+v/j1Oq0 エディタはvscodeつかったらいいよ
656デフォルトの名無しさん (ワッチョイ 6bba-JgUw [121.84.29.72])
2022/04/17(日) 12:55:31.73ID:TTO+H6Xx0 ブラウザにいれてるviolentmonkeyのエディタ使ってる
657デフォルトの名無しさん (オッペケ Srdd-oaBF [126.33.126.113])
2022/04/17(日) 13:05:51.20ID:k8OFv/xgr wordうんたらはネタだろ
658デフォルトの名無しさん (ワッチョイ 31ce-8pPm [182.170.148.142])
2022/04/17(日) 17:04:07.98ID:lD7JO0wI0 >>654
それだ…!!
「"」で確認してみたけど、まったく同じキーで入力したのに
Wordで入力…レフトダブルクォーテーション、文字コードは201C、文字は「“」
コンソールで入力…ダブルクォーテーション、文字コードは0022、文字は「"」
全く同じ入力方法、フォントも同じ。見た目もそっくりだけど、200%に拡大したら確かに違う文字ですた。
>>655、>>656
ありがとん。
vsコード持ってるから今度からそっちにしてみます。
>>657
それがネタじゃないんだな(泣)。
トライアンドエラーでコード構築の練習をしたかったので、楽なソフトでコードを書きたかったんよ。
wordならダブルクリックで立ち上がるし、字も見やすい大きさに拡大できるし、採用しなかったコードも適当にストックできて、楽そうだなぁ、と…。
まさか文字コード違いで問題が起きるとは想像もしなかったにゃ。
それだ…!!
「"」で確認してみたけど、まったく同じキーで入力したのに
Wordで入力…レフトダブルクォーテーション、文字コードは201C、文字は「“」
コンソールで入力…ダブルクォーテーション、文字コードは0022、文字は「"」
全く同じ入力方法、フォントも同じ。見た目もそっくりだけど、200%に拡大したら確かに違う文字ですた。
>>655、>>656
ありがとん。
vsコード持ってるから今度からそっちにしてみます。
>>657
それがネタじゃないんだな(泣)。
トライアンドエラーでコード構築の練習をしたかったので、楽なソフトでコードを書きたかったんよ。
wordならダブルクリックで立ち上がるし、字も見やすい大きさに拡大できるし、採用しなかったコードも適当にストックできて、楽そうだなぁ、と…。
まさか文字コード違いで問題が起きるとは想像もしなかったにゃ。
659デフォルトの名無しさん (ワッチョイ d98b-Ckae [210.228.102.1])
2022/04/17(日) 17:51:02.03ID:pn/ClTGJ0660デフォルトの名無しさん (ワッチョイ 31ce-8pPm [182.170.148.142])
2022/04/17(日) 18:12:43.66ID:lD7JO0wI0661デフォルトの名無しさん (ワッチョイ 2933-+1fN [112.71.200.123])
2022/04/17(日) 18:15:32.20ID:xdoWfkC30 何気にwordでコード書いてる人みたのネット上ですら初めてかもしれん
662デフォルトの名無しさん (ワッチョイ e12c-+xkO [180.27.221.116])
2022/04/19(火) 02:49:01.33ID:tGbJiwG70 >>644
jQuery で、id="test" 直下・子(a, c)と子孫(b)を取得した
<div id="test">
<a href="a.html"></a>
<div><a href="b.html"></a></div>
<a href="c.html"></a>
</div>
$( function ( ) {
function get_a( selector ) {
return $( selector ).map( function( ) { return $( this ).attr( 'href' ); } );
}
const children = get_a( '#test > a' )
const descendants = get_a( '#test a' )
console.log( children, descendants )
} );
出力
['a.html', 'c.html'] // 直下・子のみ
['a.html', 'b.html', 'c.html'] // 子孫
jQuery で、id="test" 直下・子(a, c)と子孫(b)を取得した
<div id="test">
<a href="a.html"></a>
<div><a href="b.html"></a></div>
<a href="c.html"></a>
</div>
$( function ( ) {
function get_a( selector ) {
return $( selector ).map( function( ) { return $( this ).attr( 'href' ); } );
}
const children = get_a( '#test > a' )
const descendants = get_a( '#test a' )
console.log( children, descendants )
} );
出力
['a.html', 'c.html'] // 直下・子のみ
['a.html', 'b.html', 'c.html'] // 子孫
663デフォルトの名無しさん (ワッチョイ 1949-ny4V [114.160.215.18])
2022/04/19(火) 10:51:06.57ID:9fIYs0Yt0 proxyってどうやってfor inやforEachすればいいですか
664デフォルトの名無しさん
2022/04/20(水) 13:31:39.60 https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Function/bind
↑でbindのメリットを考えてみたのですが
const module2 = {x:333}
const hogeGetX = unboundGetX.bind(module2);
console.log(hogeGetX());
xの値を変更しつつmoduleのgetXはそのまま使える、
みたいなことでしょうか??
↑でbindのメリットを考えてみたのですが
const module2 = {x:333}
const hogeGetX = unboundGetX.bind(module2);
console.log(hogeGetX());
xの値を変更しつつmoduleのgetXはそのまま使える、
みたいなことでしょうか??
665デフォルトの名無しさん (ワッチョイ ab79-KJWI [110.0.131.50])
2022/04/24(日) 03:36:46.70ID:G77ToU3y0 JavaScript初心者なんですが、marindeckっていうTwitterクライアントアプリでとあることがしたくて下のコードを書いて実行したんですがcan't create variable duplicate "title"ってエラーが出てしまいました。調べてみたらwebkitが悪いらしいんですが解決方法が分からなくて困ってます。titleを変えたら次はheaderが駄目になって、headerを変えたらitem、最終的にはtitleのところがエラーになります。constをletやvarに変えても駄目でした。どうすればいいでしょうか?
コード(他の部分は長いので載せてません)
const header = document.querySelectorAll(".column-heading");
const title = document.querySelectorAll(".column-heading,.column-title-edit-box");
const item = document.querySelectorAll(".md-navbar-item");
コード(他の部分は長いので載せてません)
const header = document.querySelectorAll(".column-heading");
const title = document.querySelectorAll(".column-heading,.column-title-edit-box");
const item = document.querySelectorAll(".md-navbar-item");
666デフォルトの名無しさん (ワッチョイ 4f63-zNYn [114.175.247.236])
2022/04/24(日) 04:03:59.22ID:oRZQtxTd0 変数名を手当たり次第変える
667デフォルトの名無しさん (ブーイモ MM97-yzbd [210.148.125.63])
2022/04/24(日) 06:03:31.51ID:8Psb/90zM668デフォルトの名無しさん (ワッチョイ 4f2c-dMjb [180.27.221.116])
2022/04/24(日) 07:36:29.99ID:zeaUlF5d0 >>664
よくあるのは、無名のcallback 関数のthis が、window を指してしまうのを避けるために、bind する。
setTimeout( function( ) { this.count++ }.bind( this ), 100 )
この場合、thisをthatに代入して使うのも簡単。
const that = this
setTimeout( function( ) { that.count++ }, 100 )
ES2015では、アロー関数も使える。
setTimeout( ( ) => { this.count++ }, 100 )
だから最近は、bind する事も減った
JavaScript は、thisの変動が非常に難しい。
thisが何を指しているのか分からない
それで、jQuery の$( this ) がよく使われる
よくあるのは、無名のcallback 関数のthis が、window を指してしまうのを避けるために、bind する。
setTimeout( function( ) { this.count++ }.bind( this ), 100 )
この場合、thisをthatに代入して使うのも簡単。
const that = this
setTimeout( function( ) { that.count++ }, 100 )
ES2015では、アロー関数も使える。
setTimeout( ( ) => { this.count++ }, 100 )
だから最近は、bind する事も減った
JavaScript は、thisの変動が非常に難しい。
thisが何を指しているのか分からない
それで、jQuery の$( this ) がよく使われる
669デフォルトの名無しさん (ワッチョイ ab79-LGR4 [110.0.131.50])
2022/04/24(日) 15:54:46.75ID:G77ToU3y0670デフォルトの名無しさん (ワッチョイ 57db-WvSx [217.178.96.78])
2022/04/25(月) 18:54:55.48ID:J2rghl7a0 JavaScriptでwebアプリを作るにはNode.jsを使うのでしょうか?
671デフォルトの名無しさん (ワッチョイ 2f2c-MOU1 [122.27.78.212])
2022/04/26(火) 02:37:55.71ID:JTn9J4710 Ruby on Rails でも当然、Node.js を使う。
ただし、Rails 7, Elixir のPhoenix 1.6 からは、脱webpack でesbuild に変わったけど
それでも開発環境では、webpack-dev-server も使うし、
VSCode, Node.js, npm/npx, yarn, タスクランナーのGulp/npm-scripts なども必須
ただし、Rails 7, Elixir のPhoenix 1.6 からは、脱webpack でesbuild に変わったけど
それでも開発環境では、webpack-dev-server も使うし、
VSCode, Node.js, npm/npx, yarn, タスクランナーのGulp/npm-scripts なども必須
672デフォルトの名無しさん (ワッチョイ e310-MOU1 [180.12.82.129])
2022/04/29(金) 21:50:48.52ID:ZLykNYRC0 window.addEventListener(
"load",
function(){
処理
}
);
これだとページ全体のhtmlと画像の読み込みが完了してから実行するみたいですが
画像の読み込みは完了しなくてもhtmlだけ読み込んだら実行とするようにするにはどうすればいいですか?
"load",
function(){
処理
}
);
これだとページ全体のhtmlと画像の読み込みが完了してから実行するみたいですが
画像の読み込みは完了しなくてもhtmlだけ読み込んだら実行とするようにするにはどうすればいいですか?
673デフォルトの名無しさん (ワッチョイ d710-gBP2 [118.9.152.146])
2022/04/29(金) 21:55:56.96ID:u+oETHzl0 DOMContentLoaded
674デフォルトの名無しさん (ワッチョイ 0910-6Jp9 [180.12.82.129])
2022/05/01(日) 18:51:12.94ID:oQCfhHaq0 >>673
ありがとうございます
ありがとうございます
675デフォルトの名無しさん (ワッチョイ 0910-6Jp9 [180.12.82.129])
2022/05/01(日) 18:55:01.18ID:oQCfhHaq0 let e = new Event('scroll');
window.dispatchEvent(e);
window.addEventListener(
"scroll",
function(e){
alert("スクロール");
}
);
スクロールバーでスクロールしなくてもスクロールイベント内の処理を実行したいんだけど
このようにやってもスクロールと表示されませんでした。
どうやればいいんでしょうか?
window.dispatchEvent(e);
window.addEventListener(
"scroll",
function(e){
alert("スクロール");
}
);
スクロールバーでスクロールしなくてもスクロールイベント内の処理を実行したいんだけど
このようにやってもスクロールと表示されませんでした。
どうやればいいんでしょうか?
676デフォルトの名無しさん (テテンテンテン MM6b-WFod [133.106.196.99])
2022/05/01(日) 19:09:09.32ID:LZNxkfFyM 単に処理順の問題じゃねぇの
677デフォルトの名無しさん (ワッチョイ 0910-dnm2 [180.12.82.129])
2022/05/01(日) 19:47:26.67ID:oQCfhHaq0678デフォルトの名無しさん (ワッチョイ 7b01-z2li [111.188.124.89])
2022/05/01(日) 19:50:41.72ID:MBePrVzJ0 >>675
window以外でscrollイベントが発火してる可能性
window以外でscrollイベントが発火してる可能性
679デフォルトの名無しさん (テテンテンテン MM6b-WFod [133.106.196.99])
2022/05/01(日) 19:58:27.55ID:LZNxkfFyM >>677
いやじゃなくてリスナー登録する前に発火させてるから
いやじゃなくてリスナー登録する前に発火させてるから
680デフォルトの名無しさん (ワッチョイ 7b01-z2li [111.188.124.89])
2022/05/01(日) 20:01:30.82ID:MBePrVzJ0 ああ、>>679が正解だな
要件を誤認してた
要件を誤認してた
681デフォルトの名無しさん (ワッチョイ 7b01-z2li [111.188.124.89])
2022/05/05(木) 20:35:17.57ID:ouaPcFFk0 >>677に限らんが、質問投げっぱなしの奴ばかり
682デフォルトの名無しさん (JP 0Hc6-kr+X [103.163.220.99])
2022/05/14(土) 22:48:35.26ID:6u2rsBseH obj=document.getElementsByClassName('className');
でclassNameがゲットできますが、
ワイルドカード*(使えない)を使って
obj=document.getElementsByClassName('className-*');
みたいにゲットする方法ないですか?
でclassNameがゲットできますが、
ワイルドカード*(使えない)を使って
obj=document.getElementsByClassName('className-*');
みたいにゲットする方法ないですか?
683デフォルトの名無しさん (ワッチョイ ce46-UXMI [153.161.191.103])
2022/05/14(土) 23:15:15.43ID:jzLnji7p0 document.querySelectorAllでやれば
684デフォルトの名無しさん (JP 0Hc6-05Ph [103.163.220.81])
2022/05/14(土) 23:36:26.94ID:PViH6pDdH >>683
できましたありがとう
できましたありがとう
685デフォルトの名無しさん (ワッチョイ 245f-yvGd [14.13.212.65])
2022/05/18(水) 14:44:39.05ID:59TKgDoa0 [JavaScript で特定の長さの配列を作成する | Delft スタック]
https://www.delftstack.com/ja/howto/javascript/javascript-create-array-of-length/
で new Array(5)とnewを使ったやつと、ただのArray(5)がでてくるけど、その違いは何?
Array(5)ってnew無しで呼ぶ意味は?
教えてください。
https://www.delftstack.com/ja/howto/javascript/javascript-create-array-of-length/
で new Array(5)とnewを使ったやつと、ただのArray(5)がでてくるけど、その違いは何?
Array(5)ってnew無しで呼ぶ意味は?
教えてください。
686デフォルトの名無しさん (ワッチョイ 1901-mvDa [36.240.123.131])
2022/05/18(水) 18:09:01.19ID:SpJKU45h0 >>685
返り値は同じ
返り値は同じ
687デフォルトの名無しさん (スププ Sd14-gL+Y [49.96.34.206])
2022/05/19(木) 03:10:01.87ID:mjk3HrMxd > new Array(3)
[ <3 empty items> ]
> Array(3)
[ <3 empty items> ]
> Array(3).length
3
> a = Array(3); a.length = 3; a
[ <3 empty items> ]
> [...Array(3)]
[ undefined, undefined, undefined ]
> Array(3).reduce((r, _) => r + _, 0)
0
> Reflect.construct(Array, [3])
[ <3 empty items> ]
> Reflect.construct(Array, {length: 3})
[ undefined, undefined, undefined ]
> Reflect.construct(Array, {length: 3}).reduce((r, _) => r + _, 0)
NaN
> Reflect.construct(Array, {length: 3}).reduce(r => ++r, 0)
3
> Reflect.construct(Array, {length: 3}).reduce((r, _) => r + _, '')
'undefinedundefinedundefined'
> Array(3).reduce(r => ++r, 0)
0
[ <3 empty items> ]
> Array(3)
[ <3 empty items> ]
> Array(3).length
3
> a = Array(3); a.length = 3; a
[ <3 empty items> ]
> [...Array(3)]
[ undefined, undefined, undefined ]
> Array(3).reduce((r, _) => r + _, 0)
0
> Reflect.construct(Array, [3])
[ <3 empty items> ]
> Reflect.construct(Array, {length: 3})
[ undefined, undefined, undefined ]
> Reflect.construct(Array, {length: 3}).reduce((r, _) => r + _, 0)
NaN
> Reflect.construct(Array, {length: 3}).reduce(r => ++r, 0)
3
> Reflect.construct(Array, {length: 3}).reduce((r, _) => r + _, '')
'undefinedundefinedundefined'
> Array(3).reduce(r => ++r, 0)
0
688デフォルトの名無しさん (ワッチョイ 245f-yvGd [14.13.212.65])
2022/05/19(木) 07:19:17.78ID:BgFJDolr0 >> 686 >>687
ありがとうございます。
もっとも687の途中からは理解できませんが。
しかし、new Array(3)とかしても実際3つの要素(の参照)を格納する場所が確保されるわけじゃないということなんですね
[ <3 empty items> ]
と
[ undefined, undefined, undefined ]
の違い。
ありがとうございます。
もっとも687の途中からは理解できませんが。
しかし、new Array(3)とかしても実際3つの要素(の参照)を格納する場所が確保されるわけじゃないということなんですね
[ <3 empty items> ]
と
[ undefined, undefined, undefined ]
の違い。
689デフォルトの名無しさん (ワッチョイ 245f-yvGd [14.13.212.65])
2022/05/19(木) 07:35:12.83ID:BgFJDolr0 やっぱりArray(3)でも、領域は確保されてるけど、初期化されてないということなのですか?
Javaとかじゃnullで初期化されてるけど。Javascriptじゃundefinedでさえも代入されてない?
Javaとかじゃnullで初期化されてるけど。Javascriptじゃundefinedでさえも代入されてない?
690デフォルトの名無しさん (ワッチョイ 245f-yvGd [14.13.212.65])
2022/05/19(木) 07:39:11.56ID:BgFJDolr0 a = Array(3)
for(const i of a){
console.log(i)
}
を実行すると、確かにundefinedが3つ要素としてあるみたいですが
for(const i of a){
console.log(i)
}
を実行すると、確かにundefinedが3つ要素としてあるみたいですが
691デフォルトの名無しさん (ワッチョイ 245f-yvGd [14.13.212.65])
2022/05/19(木) 07:43:27.24ID:BgFJDolr0 以下を実行してみると
> a = Array[3]
> a[1] = 7;
> a
[ <1 empty item>, 2, <1 empty item> ]
empty itemってのはundefinedとは違う? forで取り出すとundefinedになる?
やっまりArray(3)とかでもメモリ領域は確保されてるみたいですね
> a = Array[3]
> a[1] = 7;
> a
[ <1 empty item>, 2, <1 empty item> ]
empty itemってのはundefinedとは違う? forで取り出すとundefinedになる?
やっまりArray(3)とかでもメモリ領域は確保されてるみたいですね
692デフォルトの名無しさん (ワッチョイ 245f-yvGd [14.13.212.65])
2022/05/19(木) 07:44:22.36ID:BgFJDolr0 間違った
> a = Array[3]
> a[1] = 7;
> a
[ <1 empty item>, 7, <1 empty item> ]
でした。書き込み多くなってすみません。
> a = Array[3]
> a[1] = 7;
> a
[ <1 empty item>, 7, <1 empty item> ]
でした。書き込み多くなってすみません。
693デフォルトの名無しさん (ワッチョイ 3910-toQI [180.12.82.129])
2022/05/19(木) 08:39:33.80ID:YbOBvtu00 素のjavascriptでanimateを使って3秒毎に100pxずつelementを移動したいんだけど
let a=0;
setInterval(
function(){
let aa = a + "px";
let bb = a + 100 + "px";
a+=100;
element.animate(
{left:[aa,bb]},
{iterations:1,fill:"forwords";duration:1000}
);
},
3000
);
何か問題点はありますか?もっといい方法はありますか?
let a=0;
setInterval(
function(){
let aa = a + "px";
let bb = a + 100 + "px";
a+=100;
element.animate(
{left:[aa,bb]},
{iterations:1,fill:"forwords";duration:1000}
);
},
3000
);
何か問題点はありますか?もっといい方法はありますか?
694デフォルトの名無しさん (JP 0Hc6-WyAh [103.163.220.85])
2022/05/19(木) 09:47:03.34ID:AC6zTZlHH newをつけないから実体がなくてundefinedなんじゃないの
それに無理やり要素をぶっこんだら実体ができてemptyになるとか
それに無理やり要素をぶっこんだら実体ができてemptyになるとか
695デフォルトの名無しさん (ブーイモ MM9e-wYdR [163.49.201.97])
2022/05/19(木) 12:07:22.78ID:RG1roS1xM >>693
移動回数が無限ってことならそのままでいいけど、一定条件(動的な条件)を満たした場合に移動を終了させたいならclearIntervalを使おう
移動回数が決まってる場合はハナからそのようなkeyframeを書くことでsetIntervalを使わずに済ませることもできるはず
移動回数が無限ってことならそのままでいいけど、一定条件(動的な条件)を満たした場合に移動を終了させたいならclearIntervalを使おう
移動回数が決まってる場合はハナからそのようなkeyframeを書くことでsetIntervalを使わずに済ませることもできるはず
696デフォルトの名無しさん (ワッチョイ 3910-toQI [180.12.82.129])
2022/05/19(木) 12:23:52.20ID:YbOBvtu00697デフォルトの名無しさん (ワッチョイ 4b8b-gwfl [210.228.102.1])
2022/05/19(木) 13:28:23.81ID:Qw9EnnZ00 >>691
Array(3) や new Array(3)
の場合は
{
length:3
}
[undefined, undefined, undefined]
とか
Array(3).fill(undefined)
の場合は
{
length:3,
0: undefined,
1: undefined,
2: undefined
}
arr = Array(3) ってやって arr[0] で undefined が返ってくるのは
arr[100] とか arr[‘hoge’] で undefined が返ってくるのと同じことです
存在しないプロパティにアクセスしたから undefined
疎な配列 とか sparse array で検索するとちょっとは疑問解消されるかもしれないです
Array(3) や new Array(3)
の場合は
{
length:3
}
[undefined, undefined, undefined]
とか
Array(3).fill(undefined)
の場合は
{
length:3,
0: undefined,
1: undefined,
2: undefined
}
arr = Array(3) ってやって arr[0] で undefined が返ってくるのは
arr[100] とか arr[‘hoge’] で undefined が返ってくるのと同じことです
存在しないプロパティにアクセスしたから undefined
疎な配列 とか sparse array で検索するとちょっとは疑問解消されるかもしれないです
698デフォルトの名無しさん (ワッチョイ 245f-yvGd [14.13.212.65])
2022/05/19(木) 18:14:23.53ID:BgFJDolr0699デフォルトの名無しさん (オッペケ Sr4f-GkZD [126.254.214.211 [上級国民]])
2022/05/23(月) 17:33:52.64ID:+N2AIhklr Winでプログラミングするためにnotepad++とATOMに辿り着いたんですが、ちょくちょくスペル間違いをしてしまい気が付かずに延々と探してるみたいなことになっちゃってます
間違えた場合に色が変わって教えてくれるみたいな機能があれば教えて欲しいです
間違えた場合に色が変わって教えてくれるみたいな機能があれば教えて欲しいです
700デフォルトの名無しさん (ワッチョイ 7f5f-OKe/ [14.11.8.0 [上級国民]])
2022/05/23(月) 17:35:15.16ID:pMTVA02Y0 >>699
なぜそこまで探してVSCode使わんのだ……?
なぜそこまで探してVSCode使わんのだ……?
701デフォルトの名無しさん (オッペケ Sr4f-GkZD [126.254.214.211 [上級国民]])
2022/05/23(月) 17:54:55.74ID:+N2AIhklr702デフォルトの名無しさん (ワッチョイ 7f5f-OKe/ [14.11.8.0 [上級国民]])
2022/05/23(月) 18:01:49.29ID:pMTVA02Y0 >>701
ちゃんとプログラミング用のエディタなら
一回設定した変数名はそのまま入力候補として出てくる
もし英語の誤字/脱字が気になるなら
拡張機能のCode Spell Checker辺りを入れれば
一般的に使われる英単語なら誤ってる所に印付けてくれる
ちゃんとプログラミング用のエディタなら
一回設定した変数名はそのまま入力候補として出てくる
もし英語の誤字/脱字が気になるなら
拡張機能のCode Spell Checker辺りを入れれば
一般的に使われる英単語なら誤ってる所に印付けてくれる
703デフォルトの名無しさん (ワッチョイ 9363-KI0K [114.158.68.53])
2022/05/23(月) 19:08:40.21ID:NujtHCtT0 はあああぁ Emacs 使わないとか素人かよ
704デフォルトの名無しさん (ワッチョイ 4f01-2VPQ [36.240.61.89])
2022/05/23(月) 20:02:16.92ID:6OeQRku90 エディタ戦争でも始める気か?
主要なエディタを全て試して使いこなせるものを選べとしか
vi
vim
Emacs
Sublime Text
Atom
Visual Studio Code
主要なエディタを全て試して使いこなせるものを選べとしか
vi
vim
Emacs
Sublime Text
Atom
Visual Studio Code
705デフォルトの名無しさん (アウアウウー Sa6b-/Jlm [106.146.79.108])
2022/05/23(月) 21:27:13.02ID:41Pi679sa 秀まるは?
706デフォルトの名無しさん (US 0Hb2-spdv [89.46.62.100 [上級国民]])
2022/05/23(月) 21:52:53.33ID:XDgutXclH >>704
xyzzyぇ‥‥
xyzzyぇ‥‥
707デフォルトの名無しさん (ワッチョイ 8b2f-tVBN [218.220.251.107])
2022/05/23(月) 22:50:53.85ID:VcvR62I30 禿丸は使ったらハゲになるから除外。
708デフォルトの名無しさん (ワッチョイ 4f01-2VPQ [36.240.61.89])
2022/05/23(月) 22:52:20.76ID:6OeQRku90709デフォルトの名無しさん (US 0Hb2-spdv [89.46.62.100 [上級国民]])
2022/05/23(月) 22:58:39.67ID:XDgutXclH >>708
のし
のし
710デフォルトの名無しさん (アウアウクー MM8f-eQEI [36.11.228.227])
2022/05/24(火) 08:27:07.85ID:jLN19JC1M xyzzy使ってる奴なんてジジイだけ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 【芸能】日中関係悪化でエンタメ業界に大ダメージ… JO1の中国でのイベント中止、邦画は公開延期、STARTOアイドルへの影響も [冬月記者★]
- お前らは“スカイマイルタワー”建設計画を知っているか?
- 万引きJC「すいません許してください!何でもしますから!」←どうする?
- 自民党議員「高市は先人が築き上げた日中関係を壊した。外務省が謝罪に言ってるが自分で責任を取れ」 [834922174]
- Perfume・あ~ちゃんの結婚相手の一般男性、吉田カバンの社長と判明 [977261419]
- 「黙らせてやろうと思った」自宅マンション10階から高校テニスコート内の女子生徒目掛けて貯金箱を投擲した女の子、殺人未遂で逮捕 [399583221]
- 5時だから窓から5回ちんこ出した
