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

みんなの評価 :
レスフィルター : (試験中)
KeyboardEvent で code, shiftKey,... とかの組み合わせ値から現在のキーボードレイアウトでの key を事前に求める、または逆に key から(ShiftLeftとか無理ですが)組み合わせを推定する手段は、標準では用意されてないでしょうか?
WASDを使うならユーザーにWASDを使いますと案内するわけで
キーボードの全体図を出してこの位置のキーを使いますと案内するわけじゃないでしょ
だったらcodeで認識するのは変で、keyで素直に認識すればいいだけ
ユーザビリティを考えるのであれば、キーコンフィグ機能を付ければいい
それで解決
キーボードの全体図を出してこの位置のキーを使いますと案内するわけじゃないでしょ
だったらcodeで認識するのは変で、keyで素直に認識すればいいだけ
ユーザビリティを考えるのであれば、キーコンフィグ機能を付ければいい
それで解決
>>754
手段は標準では存在しない、でいいんですね?
手段は標準では存在しない、でいいんですね?
君がどういう目的で、どういう結果を求めているかイマイチわからない
そもそもキーボードっていうのはOSに複数接続可能だし、ソフトウェアキーボードもある
形も配置も、どんなキーがあるかも様々だ
それを踏まえてもまだ何かをしたいっていうのであればもっと詳しく書いてくれよ
そもそもキーボードっていうのはOSに複数接続可能だし、ソフトウェアキーボードもある
形も配置も、どんなキーがあるかも様々だ
それを踏まえてもまだ何かをしたいっていうのであればもっと詳しく書いてくれよ
ぶっちゃけ keydown と keyup で key は違ったりすることもあるので key は使いにくい
keydown shift
keydown A
keyup shift
keyup a
どちらも code="KeyA"
かといって code はキートップ文字を表さない位置情報だからコンフィグで指定させるキートップ文字と対応できない
ブラウザは現在のキーボードレイアウトを参照していなければキーを返してくることは出来ないのが道理
ならば、code + shiftKey等を元に key
もしくは、key + shiftKey等を元に code
と片方からもう片方を求める手段は、標準としては用意されてないでしょうか?
と質問しています
keydown shift
keydown A
keyup shift
keyup a
どちらも code="KeyA"
かといって code はキートップ文字を表さない位置情報だからコンフィグで指定させるキートップ文字と対応できない
ブラウザは現在のキーボードレイアウトを参照していなければキーを返してくることは出来ないのが道理
ならば、code + shiftKey等を元に key
もしくは、key + shiftKey等を元に code
と片方からもう片方を求める手段は、標準としては用意されてないでしょうか?
と質問しています
まだ良くわからんのだが
keyを元に、実際のキートップに印字されてる文字を取りたいってことなら、
KeyboardAPIのgetLayoutMapを使えばできるけどそういうこと?
keyを元に、実際のキートップに印字されてる文字を取りたいってことなら、
KeyboardAPIのgetLayoutMapを使えばできるけどそういうこと?
質問です
JSのプロパティとは、他の言語で言うところのフィールドと同じような意味と
捉えてよいでしょうか?
JSのプロパティとは、他の言語で言うところのフィールドと同じような意味と
捉えてよいでしょうか?
いや、例えばC#のプロパティと同じでフィールドとは別に存在してるよ
this.xxxx = xx;
として作るフィールド
get xxxx() {return xx;}
として作るプロパティ(setter では get ではなく set)
どちらも instance.xxxx としてアクセスできる
this.xxxx = xx;
として作るフィールド
get xxxx() {return xx;}
として作るプロパティ(setter では get ではなく set)
どちらも instance.xxxx としてアクセスできる
>>760
オブジェクトのプロパティはオブジェクトに定義されてるkey-value pairのこと
JavaやC#で言うフィールドとは少し違う
var foo = {
bar: "foo",
baz: "30",
qux: function() {
console.log(this.name, this.age);
}
}
上の例ならbar, baz, quxすべてオブジェクトのプロパティ
(それ以外に__proto__も定義されるけどそれはおいおい理解すればOK)
オブジェクト自体をkey-value pairを格納するものだと捉えておけばいいと思う
classの定義で使うconstructor()もプロパティの1つ
プロパティの値が関数になってるだけ
>>761に書いてるgetやsetで定義するのはアクセサプロパティというプロパティの一つの形態
オブジェクトのプロパティはオブジェクトに定義されてるkey-value pairのこと
JavaやC#で言うフィールドとは少し違う
var foo = {
bar: "foo",
baz: "30",
qux: function() {
console.log(this.name, this.age);
}
}
上の例ならbar, baz, quxすべてオブジェクトのプロパティ
(それ以外に__proto__も定義されるけどそれはおいおい理解すればOK)
オブジェクト自体をkey-value pairを格納するものだと捉えておけばいいと思う
classの定義で使うconstructor()もプロパティの1つ
プロパティの値が関数になってるだけ
>>761に書いてるgetやsetで定義するのはアクセサプロパティというプロパティの一つの形態
usestrictモードでIE11で検証したところ、正しく変数宣言できていないとエラーが出ていましたが、
chromeでは何もエラーが出ませんでした。
基本chromeで検証しているので、こっちでもエラーが表示されるようにしたいのですが
何か方法はありますでしょうか?
エラーとしては下記のように連続して変数宣言をする際にカンマで繋げるべきところを
セミコロンを打っていたと言った感じです。
var sample1 = 'text';
sample2 = 'text;
chromeでは何もエラーが出ませんでした。
基本chromeで検証しているので、こっちでもエラーが表示されるようにしたいのですが
何か方法はありますでしょうか?
エラーとしては下記のように連続して変数宣言をする際にカンマで繋げるべきところを
セミコロンを打っていたと言った感じです。
var sample1 = 'text';
sample2 = 'text;
無名関数は同一ページに何個も定義できますか?
無名関数はそれぞれ中身は違うものとする
無名関数はそれぞれ中身は違うものとする
>>772
Promiseとかイベントハンドラは名前じゃなく処理実体として関連付けてるわけだから、どれを使うも何もないよね?
関連つける先もない無名関数ってどう使おう、というかどう書こうと考えてるの?
Promiseとかイベントハンドラは名前じゃなく処理実体として関連付けてるわけだから、どれを使うも何もないよね?
関連つける先もない無名関数ってどう使おう、というかどう書こうと考えてるの?
>>771
再現できるものくれ
再現できるものくれ
無名関数なんてその場限り1度しか使わんだろう普通
何回も呼び出すようなら普通に関数にすればいいだけだし
何回も呼び出すようなら普通に関数にすればいいだけだし
イベントみたいに内部変数に格納したり、配列化したりはするけどね
774でも書いたけど、無名関数を作ったって格納しなきゃ保持はできない(と思う)んだから、そもそも意味がわからない
774でも書いたけど、無名関数を作ったって格納しなきゃ保持はできない(と思う)んだから、そもそも意味がわからない
大前提としてJSに参照渡し・値渡しという区別はない
他の多くの言語でも~渡しというのは
アノテーションをつけるなど「渡し方」によって決まるもの
「渡し方」が同じなのに(型によって)「渡され方」が変わると考えるのは不自然だといい加減気づいたほうがいい
JSでは全てが名付けの連鎖、所謂共有私によって為されている
基本的に値は複製されることはないし、消えることもない
新しく作られた値に様々な形で様々な名前が付いていくだけ
他の多くの言語でも~渡しというのは
アノテーションをつけるなど「渡し方」によって決まるもの
「渡し方」が同じなのに(型によって)「渡され方」が変わると考えるのは不自然だといい加減気づいたほうがいい
JSでは全てが名付けの連鎖、所謂共有私によって為されている
基本的に値は複製されることはないし、消えることもない
新しく作られた値に様々な形で様々な名前が付いていくだけ
基本、動的言語では、コピーは作られない。
Ruby で、clone, dup しても、浅いコピー(shallow copy)となり、同じ参照を指す
再帰的な深いコピー(deep copy)は、
JSON・marshal とか、一旦文字列にしてから、
その文字列からオブジェクトを構築するとか、
再帰的な参照のリンクを断たないといけない
jQuery, Lodash などで、deep copy する関数を探した方が良いかも
Ruby で、clone, dup しても、浅いコピー(shallow copy)となり、同じ参照を指す
再帰的な深いコピー(deep copy)は、
JSON・marshal とか、一旦文字列にしてから、
その文字列からオブジェクトを構築するとか、
再帰的な参照のリンクを断たないといけない
jQuery, Lodash などで、deep copy する関数を探した方が良いかも
私も手元で試したけど、そんな事態にはならないな
根本的に入力の時点で間違えている気がする
根本的に入力の時点で間違えている気がする
沢山レスありがとうございます!
結論から言うと、再度デバッグしたら
正しくMapオブジェクトに変換できました…
http://paiza.io/projects/e/7X-qC5P4_-YkGbeIfU-AcQ
お手数おかけしました
>>780
MDNのObject.assignメソッドの記述(コピー)と
やろうとしている意図(変換)が
自分の中でごちゃごちゃになってしまいました。失礼しました
>>781
>「渡し方」が同じなのに(型によって)「渡され方」が変わると考えるのは不自然
これはずっと思っていました
>JSでは全てが名付けの連鎖、所謂共有渡しによって為されている
すごく勉強になります。覚えておきます!
>>782
コピーが作られないのは動的言語の仕様なんですね
今後の心構えができました
Array.prototype.map()も使用頻度高そうなメソッドなので勉強します
ありがとうございます!
>>783
>>785
以前事象が発生したときはループの設定をミスっていたのかもしれません…
失礼しました
結論から言うと、再度デバッグしたら
正しくMapオブジェクトに変換できました…
http://paiza.io/projects/e/7X-qC5P4_-YkGbeIfU-AcQ
お手数おかけしました
>>780
MDNのObject.assignメソッドの記述(コピー)と
やろうとしている意図(変換)が
自分の中でごちゃごちゃになってしまいました。失礼しました
>>781
>「渡し方」が同じなのに(型によって)「渡され方」が変わると考えるのは不自然
これはずっと思っていました
>JSでは全てが名付けの連鎖、所謂共有渡しによって為されている
すごく勉強になります。覚えておきます!
>>782
コピーが作られないのは動的言語の仕様なんですね
今後の心構えができました
Array.prototype.map()も使用頻度高そうなメソッドなので勉強します
ありがとうございます!
>>783
>>785
以前事象が発生したときはループの設定をミスっていたのかもしれません…
失礼しました
動的言語で、複合オブジェクトをdeep copy するのは、大変。
なかなか、再帰的な参照のリンクを断てない
オブジェクト内のオブジェクトを再帰的にたどって行って、
Primitive までたどり着いた所で、初めて値をコピーできる
こういう関数を作るのが面倒だから、
複合オブジェクトでは、一旦文字列にしてから、
その文字列から、新たにオブジェクトを作ったりする。
それが、JSON・marshal など
他には、jQuery, Lodash など、何かのモジュールに、deep copy する関数があるかも
なかなか、再帰的な参照のリンクを断てない
オブジェクト内のオブジェクトを再帰的にたどって行って、
Primitive までたどり着いた所で、初めて値をコピーできる
こういう関数を作るのが面倒だから、
複合オブジェクトでは、一旦文字列にしてから、
その文字列から、新たにオブジェクトを作ったりする。
それが、JSON・marshal など
他には、jQuery, Lodash など、何かのモジュールに、deep copy する関数があるかも
C では変数は、値を入れる箱だけど、
動的言語では、変数は名付け・ラベル
箱に入れるようなイメージをしてると、参照のコピーで苦しむ
動的言語では、変数は名付け・ラベル
箱に入れるようなイメージをしてると、参照のコピーで苦しむ
長文君よりルビキチ君のほうがいろいろとまともに見えるな
二人ともコテハンつけてくれると助かるんだが
二人ともコテハンつけてくれると助かるんだが
>>794
確かに似たような概念では有るがundefinedはまだ値が割り当てられていない状態を指すのに対して
nullはNaNに雰囲気が似ているが、明示的に(適した)オブジェクトが無いことを表す値という違いが有る
最近のJSからはnullとundefinedをまとめた「nullish」という概念が入ってて2つを一緒に扱いやすくもなってるから
2つあることで不便なことよりも使い分けて便利なことのほうが大きいとは思う
確かに似たような概念では有るがundefinedはまだ値が割り当てられていない状態を指すのに対して
nullはNaNに雰囲気が似ているが、明示的に(適した)オブジェクトが無いことを表す値という違いが有る
最近のJSからはnullとundefinedをまとめた「nullish」という概念が入ってて2つを一緒に扱いやすくもなってるから
2つあることで不便なことよりも使い分けて便利なことのほうが大きいとは思う
本気で困ってるんだが質問いいか?
$(document).bind('paste', function(e){ hoge; });
でペースト処理を掴んでペースト内容を正規化した後に、その値を直接val()で入れると、
Ctrl+Z とか右クリックからのアンドゥリドゥで値があべこべになるんだが解決方法知ってる人いたりするか?
$(document).bind('paste', function(e){ hoge; });
でペースト処理を掴んでペースト内容を正規化した後に、その値を直接val()で入れると、
Ctrl+Z とか右クリックからのアンドゥリドゥで値があべこべになるんだが解決方法知ってる人いたりするか?
SQL でも、null, undefined を区別する事を提唱した学者もいるけど、
クエリ文を書くのがあまりにも面倒で、undefinedは採用されなかった
クエリ文を書くのがあまりにも面倒で、undefinedは採用されなかった



類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.141 + (1001) - [100%] - 2019/9/22 23:15
- + JavaScript の質問用スレッド vol.142 + (984) - [97%] - 2020/8/27 19:15
- + JavaScript の質問用スレッド vol.131 + (1004) - [97%] - 2018/3/7 13:30
- + JavaScript の質問用スレッド vol.121 + (1001) - [97%] - 2015/1/1 18:30
- + JavaScript の質問用スレッド vol.121 + (1001) - [97%] - 2022/11/29 16:30
- + JavaScript の質問用スレッド vol.131 + (1000) - [97%] - 2017/1/25 8:01
- + JavaScript の質問用スレッド vol.144 + (288) - [97%] - 2020/5/17 20:00
- + JavaScript の質問用スレッド vol.111 + (1001) - [97%] - 2013/11/4 6:00
- + JavaScript の質問用スレッド vol.142 + (926) - [97%] - 2019/12/23 13:15
- + JavaScript の質問用スレッド vol.143 + (753) - [97%] - 2020/4/19 5:00
- + JavaScript の質問用スレッド vol.101 + (1001) - [97%] - 2012/7/16 14:15
- + JavaScript の質問用スレッド vol.140 + (1001) - [97%] - 2019/9/19 10:45
- + JavaScript の質問用スレッド vol.102 + (1001) - [95%] - 2012/9/11 17:30
- + JavaScript の質問用スレッド vol.123 + (966) - [95%] - 2020/10/20 2:30
- + JavaScript の質問用スレッド vol.122 + (116) - [95%] - 2018/5/2 18:30
- + JavaScript の質問用スレッド vol.122 + (1004) - [95%] - 2015/2/14 4:45
- + JavaScript の質問用スレッド vol.100 + (1001) - [95%] - 2012/6/13 22:46
トップメニューへ / →のくす牧場書庫について