+ JavaScript(ECMAScript)質問用スレッド vol.123 + [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2016/12/21(水) 21:56:53.30ID:xYX0mlO/
プログラマ板の趣旨にあわせてブラウザ限定ではなくサーバーサイドJavaScriptや
トランスパイラなどの関連技術の話題も取り扱うように変わりました。
ECMAScriptの言語仕様の話題。最新ECMAScriptによるモダンな書き方、Promiseやasync/awaitを
使った非同期プログラミング。ES2015、2016、2017等の最新ECMAScriptをブラウザで今すぐ使う方法、
ビルド環境やbowerやnodeのパッケージを使う方法等、モダンなJavaScript環境についての幅広い話をしましょう。

ECMAScript対応実行環境一覧(ブラウザやbabelを含む)
http://kangax.github.io/compat-table/es5/
http://kangax.github.io/compat-table/es6/ (= es2015)
http://kangax.github.io/compat-table/es2016plus/
http://kangax.github.io/compat-table/esnext/

JavaScriptとは?
もともとMozillaの前身のNetscapeが作った言語であり本来のJavaScriptはFirefoxの実装のみです。
JavaScriptの正式な仕様名はECMAScriptです。ですが一般に使われているとおり
ChromeやEdgeで使う言語もJavaScriptとしてこのスレでは扱います。
Firefox等のJavaScript実装は最新のECMAScriptに準拠しています。

※DOMはブラウザが提供しているものでありJavaScript(ECMAScript)の範囲外です。
なのでDOMを使ったプログラミングは原則としてこのスレの対象外です。
DOMはwindowオブジェクト(ブラウザのホストオブジェクト)経由で
参照するもので、window自体、window.document、window.Workerなどです。
これに関する話題はWeb制作板の下記のスレに移動してください。

+ JavaScript & jQuery 質問用スレッド vol.7 + [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/hp/1467906819/
jQuery 質問スレッド vol.7
http://echo.2ch.net/test/read.cgi/hp/1478055094/
+ JavaScript の質問用スレッド vol.131 + [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/hp/1478053599
前スレ + JavaScript(ECMAScript)質問用スレッド vol.122 + [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1472401404
2016/12/22(木) 02:38:08.65ID:BvyVb581
うざい。てめーがしきるな
2016/12/22(木) 03:06:53.81ID:ogcXwmyZ
>>2
うるせーなボケ
いちいち楯突くんじゃねーよ
2016/12/22(木) 06:27:36.88ID:A2Tc/M/e
>>1
チョンはわがままだな。
使かわれていないスレもあるようだが、それも君が立てたのかな?

テンプレ案あるんだからコピペくらいしろよ。カス
2016/12/22(木) 09:58:02.51ID:i/pZa1E8
https://chrome.google.com/webstore/detail/%E3%81%AF%E3%81%A6%E3%81%AAng/mbgdnfmdelffjdhkdggilmphfdihnmcj?hl=ja
2016/12/22(木) 10:55:48.41ID:amgeFw6w
前スレで楯突いた>>1( ID:xYX0mlO/ ) が仕切ってるだけ

> 936 : デフォルトの名無しさん2016/12/21(水) 21:40:39.60 ID:HG47hG4n
> そろそろ、次スレだな
> 「ECMAScript デス 6」で立てるとして「ECMAScript デス 4」のテンプレを元にリンク修正してみた
> https://fiddle.jshell.net/65tysya6/1/show/
> 修正事項があれば意見よろしく
>
> 937 : デフォルトの名無しさん2016/12/21(水) 21:57:51.64 ID:xYX0mlO/
> うざい。てめーがしきるな
2016/12/24(土) 10:01:23.42ID:n32RDurU
次期バージョンのYMCA2017って出るんだっけ?それとも2018?
2016/12/24(土) 12:33:19.17ID:Jz44Y/YL
現行スレ

+ JavaScript(ECMAScript)質問用スレッド vol.122 + [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1472401404/
2017/02/03(金) 21:05:15.09ID:c/3M2MXW
age
2017/02/04(土) 01:22:17.71ID:z+bUvbXK
現行スレ。

ECMAScript デス 6
http://echo.2ch.net/test/read.cgi/tech/1483332914/
11デフォルトの名無しさん
垢版 |
2017/03/28(火) 03:47:25.84ID:8XEqMjkn
ここが一番マトモなスレだな
2017/03/28(火) 04:33:46.52ID:1e56qEba
はじめまして、初心者ですみませんが
二次元配列と連想配列で混乱していてうまく作れずに悩んでいます。
どなたかご教授下さいませ。えっと、とりあえず
文字列と色値をペアで格納して色値をソートや計算できて、
結果を文字列でリターンしたいです。
2017/03/28(火) 07:38:12.15ID:miOdb52E
>>12
文字列と色値の入ったオブジェクト(連想配列)を通常の配列に入れればいいよ
ソートは.sort(function(){})を使って好きな順にソート出来るようにすればいい
1412
垢版 |
2017/03/28(火) 08:19:14.59ID:1e56qEba
>>13
ありがとうございます。
var x =["赤い":ff0000,"青い":0000ff,"固い":000000,"柔らかい":ffffff];
な感じでしょうか。単純に色のソートが出来そうにないですが試してみます。
2017/03/28(火) 08:37:35.24ID:miOdb52E
>>14
カスタムソートで好きなようにソートできるよ
配列のソート関数しらべてみたらいい
2017/03/28(火) 08:51:24.95ID:1e56qEba
>>15
ソート関数を調べてみます。
あと、連想配列の追加と削除はどうするんでしょう?
x["山"] += 00ff00 ;
delete x["赤い"];
2017/03/28(火) 08:58:38.72ID:miOdb52E
>>16
あのね、配列に追加するのはオブジェクトだよ
多次元配列みたいなイメージもってるならそれは間違い

実際のコード的には
arr.push({name:"赤",color:"#f0000"});
こんな感じだよ
こうやってオブジェクトを配列に追加していく
1816
垢版 |
2017/03/28(火) 13:34:44.77ID:1e56qEba
>>17
??連想配列ってオブジェクト??
多次元配列のイメージが混乱のもとだったんですね。
勉強しなおします。ありがとうございました。
2017/03/28(火) 15:19:00.30ID:qwv7MmmJ
>>18
javascriptの場合、連想配列=ハッシュテーブル=オブジェクトという認識でいいよ
厳密にはjsの世界はすべてオブジェクトだけどイメージとしては上記が適切だとおもう
2017/04/08(土) 23:41:03.76ID:Yo9euuv0
CRSF対策ってこれでいいのん?

サーバーで予測不能なトークンを生成して保存(セッションかDB)
トークンをクライアントに通知(ヘッダかクッキーか隠しフィールド)
更新リクエストのパラメータにトークンを付与
サーバーでリクエスト処理前にトークンを照会
2017/05/22(月) 07:55:44.77ID:G0M+YMs3
v8のビルドがまったく上手くいかない。
誰か助けて。
22デフォルトの名無しさん
垢版 |
2017/10/16(月) 00:33:07.44ID:LTsOqA5h
スレチ
2017/10/22(日) 14:17:55.51ID:HjaIXmCn
ビルドは実際むずい
特に公式の想定と同じ環境用意できない場合には
ひたすらリンクエラー等をでなくなるまで一つ一つ潰していく事になる
そりゃ大変、俺も過去何度も諦めた
2017/10/22(日) 23:32:49.52ID:sDdgCD4Q
×ビルドは実際むずい
○公式の想定と違うことをやるのは大変
25デフォルトの名無しさん
垢版 |
2018/01/06(土) 12:05:13.66ID:1x4F79vG
信じられん
例のCPU脆弱性騒ぎのせいでSharedArrayBufferが無効にされてしまったわ
昨年からずっと自作デコーダの最適化進めててこれからリリースしようと思ってたのに、
年越し早々大爆弾だわ ……ショックで頭真っ白
2018/01/13(土) 05:37:42.57ID:z1niPOeq
Wordなんか数式エディタ削除されたぞw
2018/01/14(日) 01:45:33.66ID:ShEBZxSB
https://togetter.com/li/1189140

数式エディター (Microsoft Equation 3.0) は、Office 2007より古いバージョン (約15年前かそれ以前) で
使われていたもので、2007より古いバージョンのOfficeドキュメントとの互換性のため「だけ」に残されていたものです。

Office 2007以降は、新しい数式エディターがサポートされています。

新しい数式エディターの最近のバージョンでは、LaTeX構文もサポートされています。

今回のアップデートで無効化されたのは、古いMicrosoft Equation 3.0です。

数式を新規作成したい場合は、新しい数式エディターをお使いください。

古いMicrosoft Equation 3.0を編集したい場合は、サードパーティーの無料の
「MathType Lite」を使えます。より高機能な有料の「MathType」もあるようです。
2018/01/14(日) 03:06:55.40ID:tpxVLNNj
>>27
MathTypeは知ってたがLiteがあるとは!情報サンクス
2018/04/27(金) 09:01:42.51ID:98kfkBYc
未だに変数に入っている"180 / 30 + 3 * 20"みたいな文字列の数式を実行するにはeval以外では簡単にできないのでしょうか?
2018/05/07(月) 17:44:28.31ID:1f9//QHH
自分で作ればできる
31デフォルトの名無しさん
垢版 |
2018/05/23(水) 20:46:52.15ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

B8IAE
32デフォルトの名無しさん
垢版 |
2018/07/05(木) 01:06:26.75ID:RfoszcD2
WDQ
2018/12/08(土) 14:10:12.61ID:dT5UqvBY
TypeScriptのtype(型)って、JSObjectの値や構造の制約のことだよね。
Java言語のようなオブジェクトの設計図としての型じゃない。
JavaだとFQCN指定でリフレクションAPIを使って、
コンストラクタ実行やメソッド実行できるけど、JSでそんなこと絶対できないよね。

もしTypeScriptがESのOptional Static Typeとして取り込まれるならば、
JSオブジェクトの仕様として、constraintオブジェクトというものを新たに規定し
constraintOfという演算子やfitsConstraintという拡張子を作り、
型制約をチェックする仕組みを作る必要があるのではなかろうか。

export interface Arashi{
name:string;
function sayLie:() => void;
}

export class Kakikomi implements Arashi{
function sayLie() {
console.log("aa");
}
kakikomi:(content:string) => {
console.log(content);
}
}

const kakikomi:Kakikomi = new Kakikomi();

console.log(kakikomi fitsConstraint Arashi); ※trueと表示される。
console.log( constraintOf kakikomi belongsTo Arashi);※trueと表示される。
console.log( Kakikomi belongsTo Arashi);※trueと表示される。

しかし、これは妄想。TypeScriptを作っているのはMicrosoftだが、
ES4を白紙にしたMicrosoftがこんなチャレンジングな仕様変更するはずが無いよなあ
2018/12/08(土) 14:12:12.03ID:dT5UqvBY
スマソ。演算子を拡張子と間違えて変えてしまった。
35デフォルトの名無しさん
垢版 |
2019/01/13(日) 19:19:32.85ID:KNqavvUe
オブジェクト(変数)名を取得する方法を教えてください。
具体的には、以下のようにしたいです。

let marker1 = "";
let marker2 = [];
let marker3 = 12;

let list = [];

list.push(marker1);
list.push(marker2);
list.push(marker3);

for(let i = 0; i < list.length; i++)
{
alert(list[i].???);           //marker1 marker2 marker3と順番に表示
}
3635
垢版 |
2019/01/13(日) 19:26:35.93ID:KNqavvUe
すみあせん。
Web制作板で質問します。
2019/03/10(日) 05:07:24.17ID:NjJBb6dx
生理がこないんですけど、どうしたらいいですか?
38デフォルトの名無しさん
垢版 |
2019/03/10(日) 15:01:40.89ID:uFsYqTSV
梅の季節
2019/03/18(月) 13:55:12.34ID:qwWtIZ0f
教えてください

indexファイルでgeolocationを使って位置情報を取得する、ことに関して、
localhost:8000/indexのアドレスでアクセスするとできるのですが
ipアドレス(19x.xxx.0.8:8000/index)でアクセスすると undefine になります。
ipアドレスでgeolocationを使うには、どうしたらいいのでしょうか?
2019/03/18(月) 15:53:47.73ID:lC4FotEs
サーバーのlistenアドレス0.0.0.0にしる
2019/03/19(火) 12:20:04.08ID:DBfAR41T
>>40
ありがとうございます(laravel使っています

アクセス先を19x.xxx.0.8:8000/index を変更して
0.0.0.0:8000/indexでアクセスできるように設定すると
chrome では、アクセスできない、というエラーになります。

フレームワークのhost設定を0.0.0.0としたら
サーバーへのアクセスができなくなってしまいました。
難しいですね><
42デフォルトの名無しさん
垢版 |
2019/03/23(土) 00:37:12.80ID:JkDyUJfm
TypedArrayって確保できる最大サイズはどれくらいですか?
43デフォルトの名無しさん
垢版 |
2019/03/24(日) 16:44:38.97ID:ymbCRZHd
すみませんが教えてほしいです

とあるサイトの入力画面ページAの、input要素やselect要素の値を取得し、同サイトの同デザインの入力ページであるBに
取得した値を入力したいのですが、Aの取得までは出来ても、それをどう保持してBに反映させれば良いのかさっぱり思いつきません
ちなみにABは両方開いたままにしておけます
今のところ社内の誰でも使えるようにブックマークレットで作成中ですが…

どなたかアドバイスをお願いいたします!
2019/03/24(日) 23:56:48.13ID:3fqiTHWE
Ruby, Nokogiri, Selenium WebDriver では
(いざとなれば、JavaScript, jQuery も実行できる)

driver.navigate.to url_0

url_0 から、値を取得する

driver.execute_script( "window.open()" ) # 新しいタブを開く
driver.switch_to.window( driver.window_handles.last ) # 新しいタブへ移動する

driver.navigate.to url_1

url_1 のコントロールへ、値を書き込んで、ボタンを押す
4544
垢版 |
2019/03/24(日) 23:58:07.04ID:3fqiTHWE
iMacros でも、ブラウザを自動操作できる
2019/03/25(月) 16:33:49.92ID:yeY44znY
>>44-45
ありがとうございます!
ですが生憎今回はブックマークレットでの作成を考えております

Aから取得したデータをクリップボードにコピーするところまでは作れたのですが、
ペーストが何をやってもうまくいかなさすぎて発狂しそうですw
2019/03/25(月) 17:05:33.51ID:wbYk2hlW
ペーストはセキュリティ理由で拡張からじゃないとダメになってたような
クッキーかlocalStorageでも使えば?
2019/03/25(月) 17:11:32.70ID:yeY44znY
>>47
アドバイスありがとうございます!
JavascriptでCookieいじれるのすっかり忘れていました
4944
垢版 |
2019/03/25(月) 23:39:21.70ID:mW0SiMKO
漏れは、クリップボード処理も、Ruby で作っている。
powershell のGet-Clipboard, Set-Clipboard とか、clip コマンドも呼び出せる。
VBScript からも呼び出せる

# クリップボード内の複数行文字列の、各行の先頭・末尾から、
# 連続する空白類を除去して、クリップボードに入れる

str = `powershell Get-Clipboard`
str.encode! Encoding::UTF_8, Encoding::CP932 # UTF_8 へ変換

ary = str.each_line.map( &:strip )

IO.popen( 'clip', 'w:cp932' ) do | clip | # CP932 へ戻す
clip.print( ary.join "\n" )
end
2019/03/26(火) 19:22:48.35ID:NbUyZWCM
誰でも頭が良くなる、プログラムが書けるようになる方法が発見される 38948
https://you-can-program.hatenablog.jp
2019/03/26(火) 21:45:14.18ID:aA2ryYGj
↑を見なくて良いように。イミフでくだらん。読む価値なし

プログラムが書けるようになった方法を公開するブログ
あることをしたらプログラムが書けるようになった。これはなんだ?よくわからないけどそのやり方を公開します
2019-03-23
プログラムを書けるようになる方法を見つけた! 頭も良くなった!
プログラムを書けるようになる方法を見つけた!
眼鏡のフレーム端を耳の横に掛けたらなぜか書けるようになった。
このやり方をやれば誰でもプログラムが書けるようになると思います。
頭も良くなった!
プログラムで挫折した経験がある方一度お試しあれ!


自己責任で
メガネのフレームを少し曲げる必要があります。破損しても自己責任で
個人差があると思います。人によってできない人もいると思います。
以上自己責任で試してみてください。

用意するもの
必須
メガネ (耳の横にかけれるもの フレームの横幅が広いものがいいです)
紫外線防止コーティング (眼鏡屋さんで3千円くらいでやってもらえます)

お好み
片方は非球体の方がいい (目が疲れない)
黒縁じゃないほうがいい。(縁が太いと視野が狭くなる)

やり方

フレームの端を耳の横に掛ける
目をつぶり、頭の周りに衛星が回転するイメージする
2019/04/13(土) 21:54:04.21ID:YuEspvN9
すみませんJavaScriptの変数は
ある値を入れる事ができる、多相で形状変更可能な入れ物と言う
理解で良いでしょうか?
2019/04/14(日) 04:09:36.72ID:sVMwpWTF
入れ物じゃなくポインターとして考えたほうがいい
54デフォルトの名無しさん
垢版 |
2019/04/24(水) 02:00:27.26ID:nhVs7jby
function myPromise(){
return new Promise(function(resolve,reject){
setTimeout(function(){
console.log(1);
resolve('Hello myPromise!');
}, 1000)
});
}

myPromise().then(function(test){
console.log(test);
});

// 結果 //
1
Hello myPromise!

thenの中の関数の引数testをconsole.logで指定するとmyPromiseの中を表示できますが、
なぜtestという引数でmyPromiseの中身を呼びさせるのでしょうか?
何と言いますが、イメージが掴みにくいといいますか・・・
これがtestではなくresolveという引数ならイメージできるのですが、
myPromiseの戻り値を呼び出すのに、その場で適当につけた引数で呼び出せるのがイマイチ理解できなくて
変な質問でしたらすみません
よろしくお願いします
2019/04/24(水) 02:25:20.92ID:kFXKi6KY
resolve('Hello myPromise!');
resolve の引数で渡したものが、then で指定した、callback 関数の引数に渡された

「javascript promise」で検索して!

以後、JavaScript の質問は、この板よりも、web 制作管理板の方へ書き込んでください!
2019/04/25(木) 23:15:29.08ID:2CwPs9+2
>>53
ポインターですね。 ありがとうございます。
オブジェクト(参照データ)へのポインターと整数等(値)へのポインターでは
違いがあるのか調べてみます。
2019/05/27(月) 14:32:23.58ID:BM/UqAnC
>>53 を読んで
const swap = function (a, b) {
const tmp = a;
a = b;
b = tmp;
}
let a = 1;
let b = 10;
console.log("a: " + a);
console.log("b: " + b);

swap(a,b);
console.log("a: " + a);
console.log("b: " + b);

とか書いたら swap されてない…
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況