[過去ログ] TypeScript part2 [転載禁止]©2ch.net (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
561(3): 2017/03/19(日)00:28 ID:zrbJr/YL(1/2) AAS
Chrome拡張機能を作ってる方結構いるみたいなので教えてほしいのですが
「chrome.〜〜〜」のAPIが「Supplied parameters do not match any signature of call target.」とコンパイルエラーになります
「/// <reference path="./node_modules/@types/chrome/index.d.ts" />」でd.tsは指定しているのですが、他にも何か記述が必要ですか?
562: 2017/03/19(日)02:18 ID:9qStAS/N(1/2) AAS
>>561
そもそも今は/// <reference path=みたいな書き方はしない。
@types/XX npm install すれば使えるはず。
563: 2017/03/19(日)02:40 ID:/2pY/ZTT(1) AAS
インストしても明示的なインポートなしには使えんよ
564: 2017/03/19(日)03:16 ID:TMN19OY5(1) AAS
>>561
エラーしてる部分のソース貼るといいよ
565(1): 561 2017/03/19(日)11:24 ID:zrbJr/YL(2/2) AAS
皆様ありがとうございます…解決しました…chrome.〜〜に引数が設定されてなくてエラーになるという超凡ミスでした…
エラーメッセージの意味をきちんと理解しないといけないですね…
--- コンパイルエラー ----------------------------------------------------------
if (window.location.href.indexOf('aaa.com') !== -1) {
chrome.pageAction.onClicked.addListener();
}
------------------------------------------------------------------------------
省8
566: 2017/03/19(日)13:25 ID:9qStAS/N(2/2) AAS
>>565
エディター何使ってんの?
typescriptなら書いてるそばから検出できるエラーじゃないのか?
567: 2017/03/28(火)10:03 ID:r9lg9pov(1) AAS
ターゲットにWebAssemblyを追加する計画とか無いのかな
568: 2017/03/28(火)14:44 ID:3EkUFmFA(1/2) AAS
interfaceの定義でArrayの要素が2つしかない場合の定義の仕方ってあるかな
interface Pair {
number[2]
}
interface Data {
pairs :Pair[]
}
省2
569(1): 2017/03/28(火)14:54 ID:OG3qmdJs(1) AAS
タプル使え
570: 2017/03/28(火)17:30 ID:3EkUFmFA(2/2) AAS
>>569
thanks
type Pair = [number,number]
interface Data {
pairs :Pair[]
}
571: 2017/03/30(木)23:49 ID:Ya8jf9nB(1) AAS
index.htmlに直接CDNからreactとreact-domを読み込んで
npmからは@types/reactと@types/react-domをインストールし
tsxファイルからimport文を使わずにreactを使ったところ何の問題もなく動いた。
plotly.jsを同じように使おうとしたら自動では定義ファイルを読んでくれない。
この違いは一体何なのか?
と思って定義ファイルを見たところreactとreact-domには以下のような記載がある
export as namespace ReactDOM;
省5
572: 2017/03/31(金)01:47 ID:y+1gOmlP(1) AAS
そのモジュールのグローバル変数化宣言
公式wiki嫁
573(1): 2017/04/01(土)20:31 ID:es45r1Ne(1/2) AAS
型定義ファイルの書き方がよくわからなくてつんでいます
node-transmission
外部リンク:github.com
の型定義ファイルが見当たらないので作っているんですが
もとのjsファイルのexport宣言が
var Transmission = module.exports = function (options) {
ってなっている場合に型定義ファイルとして以下のように書いても認識されないです。
省16
574: 2017/04/01(土)22:04 ID:es45r1Ne(2/2) AAS
>>573
すいません。自己解決しました。
JSのモジュールまじしんどい
575: 2017/04/09(日)14:34 ID:ZBMiMXkM(1) AAS
>>41
partial classは不採用になったので一応
Suggestion Backlog Slog, 4/3/2017
外部リンク:github.com
外部リンク:github.com
576(2): 2017/04/10(月)14:18 ID:BK5DCjs2(1) AAS
Google社内の標準言語としてTypeScriptが承認される。ng-conf 2017
外部リンク[html]:www.publickey1.jp
577(2): 2017/04/10(月)18:26 ID:VEGABUso(1) AAS
>>576
Dartどうすんだよ
578: 2017/04/10(月)20:28 ID:kMiVc4KU(1) AAS
劣るうえ、使われてないdartは自動消滅。
ホントはわかってたこと。
579(3): 2017/04/11(火)02:02 ID:Kcnbnd8w(1) AAS
typescriptでreduxの実装書くのしんどいね
外部リンク:qiita.com
こいつを参考に書いてるけど。他にいい書き方があれば
580: 2017/04/11(火)07:02 ID:OeT6CnRN(1) AAS
>>579
おまおれ
mapStateToPropsとかの引数も型どうしていいか分からん
581: 2017/04/11(火)17:04 ID:ejHOB/DU(1) AAS
>>579
こんなの誰が何に使うの?
582: 2017/04/11(火)19:22 ID:+8we66Ry(1) AAS
ほんそれ
583: 2017/04/11(火)22:09 ID:rpuwd/d9(1) AAS
TypeScriptでreact-router-reduxに手を出したら大変な目に遭った。
584: 2017/04/11(火)22:24 ID:YJpuA+WP(1) AAS
単語が3つ以上入ってるパッケージに近寄りたくない
585(1): 2017/04/12(水)19:01 ID:BxTB0mZM(1) AAS
>>576,577
もうjavaやめてtypescriptでandroidアプリ開発できるようにしてほしい。
でも本心はdart頑張れ。
586: 2017/04/12(水)19:19 ID:usx2Dq45(1/2) AAS
そういうフレームワーク色々あるやん
587(1): 2017/04/12(水)20:26 ID:IsZRv2xh(1/3) AAS
>>579
これの2.0/2.1用ってのをやってみたら#defineが欲しくなった。
ストリングリテラルを置き換えられるマクロみたいなものってないのかな?
588: 2017/04/12(水)20:47 ID:usx2Dq45(2/2) AAS
>>587
何が欲しいのかよく解らんが
const ABC=”str”
じゃあかんのか?
589(1): 2017/04/12(水)20:56 ID:IsZRv2xh(2/3) AAS
そのABCはストリングリテラル型には使えんわけよ。
590: 2017/04/12(水)21:04 ID:WRJ4LE6o(1/2) AAS
redux の冗長な書き方をtypescriptの機能でなんとかしてほしいってことなんだろうけど。
react見たくpropsをinterface定義すれば大体いい感じで使える。みたいにredux の方もstateのinterface定義だけでいい感じに出来上がるような仕組みがほしい。
591: 2017/04/12(水)21:05 ID:WRJ4LE6o(2/2) AAS
>>585
つreact native
592: 2017/04/12(水)22:41 ID:mYXXp/Z3(1) AAS
>>589
const ABC:"str" = "str";
こういうことか
593(1): 2017/04/12(水)23:07 ID:IsZRv2xh(3/3) AAS
それ。
strが短いならそのまま書いても一緒だけど、actionのtypeって長くなりがちだから
二重に書くのがつらい。
594: 2017/04/12(水)23:08 ID:0/0fFwi6(1) AAS
>>577
TypeScriptが標準言語になっても、Dartのことは忘れてませんよとGoogle担当者がフォロー
外部リンク[html]:www.publickey1.jp
595(1): 2017/04/12(水)23:50 ID:29ufoOq3(1) AAS
constは型書かなくてもストリングリテラルに推論されるようになったんだが存知ない?
596: 2017/04/13(木)00:12 ID:IFJ42qsr(1/6) AAS
2.1からだね。2.0でも使ってたんだろうか
597(1): 2017/04/13(木)00:19 ID:rVYtPk7E(1/5) AAS
ストリングリテラルに推論されるって?
これ通らないでしょ?
const STR = "str";
const ABC: STR = STR;
598: 2017/04/13(木)00:27 ID:IFJ42qsr(2/6) AAS
>>597
そりゃ二行目がストリングリテラルじゃないからね
599(1): 2017/04/13(木)00:33 ID:rVYtPk7E(2/5) AAS
だからそれが書けないから>>593だってことだろ。
結局>>595は何の話をしてたんだ?
600(1): 2017/04/13(木)00:34 ID:IFJ42qsr(3/6) AAS
なにがやりたいのかよく解らんが
const STR = "str";
const ABC1 = STR;
const ABC2:”str” = ABC1;
type STRT=”str”;
const ABC3:STRT=STR;
全部通るよ
601: 2017/04/13(木)00:39 ID:7ydi5nIB(1/2) AAS
>>599
エラーメッセージも読めない奴がずいぶんと偉そうだな
ドキュメント100回読み直してこい
602(1): 2017/04/13(木)00:40 ID:rVYtPk7E(3/5) AAS
>>600
やりたいのはそこで言うSTRTとSTRの共通化。
要は同じ"str"を重複して書きたくないってこと。
603: 2017/04/13(木)00:44 ID:7ydi5nIB(2/2) AAS
変数の型の参照なんて初歩の初歩なんだが教えてやるまい
604: 2017/04/13(木)01:00 ID:IFJ42qsr(4/6) AAS
>>602
えっ 普通推論させるから書かないでしょ
わざわざ書かなきゃならなくなるケースってどんな時よ
605(1): 2017/04/13(木)01:13 ID:rVYtPk7E(4/5) AAS
const STR = "str";
type STRT = "str";
const ABC3: STRT=STR;
"str"を2回書かずにABC3が作れればそれでいいんだけど。
606: 2017/04/13(木)01:20 ID:IFJ42qsr(5/6) AAS
>>605
const STR = "str";
const ABC3 = STR;
607: 2017/04/13(木)06:09 ID:32cPtkAw(1) AAS
type STRT = typeof STR
608: 2017/04/13(木)08:01 ID:rVYtPk7E(5/5) AAS
すまん、確かに思い違いしていたようだ。ありがとう。
609: 2017/04/13(木)13:00 ID:XE18llYI(1) AAS
恥ずかしか
610: 2017/04/13(木)20:33 ID:IFJ42qsr(6/6) AAS
認めて謝って感謝してるだけ立派だよ
611(1): 2017/04/16(日)20:56 ID:nOhMz2bP(1) AAS
TypeScriptでExpressを使う場合について教えてください。
express-generatorなどのサンプルコードだと new Error したオブジェクトにstatusを
突っ込んで返していたりしますが、ここ、TypeScript的にはどうするのが普通でしょう?
みなさん自前でErrorのサブクラスを定義しているんでしょうか?あるいはどこかに
定番のものがあったりするんでしょうか?
612: 2017/04/16(日)22:51 ID:SqhlDt4o(1) AAS
「どうでもいい」が普通じゃない?
そんなもんエラーハンドラで受けて適当にトレースとエラーメッセージ出したら終わりなんだから
型なんぞ要らん
手段と目的を履き違えるな
613: 2017/04/16(日)23:30 ID:R4TJTEcK(1) AAS
>>611
jsonとして扱えるようにインターフェース定義にしておいたほうが無難な気がする。
シリアライズしても簡単にもとに戻せるし。
614: 2017/04/17(月)00:09 ID:CyuLkfZA(1/2) AAS
そういうもんですかね?
エラーを表示するだけとは言ってもstatusは正しくセットしなきゃならないわけで、
TypeScriptを使う以上そこも型安全にやりたいってのは自然だと思うんですが。
そこだけtslintの警告をネグるのも気持ち悪いし。
615: 2017/04/17(月)00:24 ID:GVmJ+xSa(1) AAS
アプリケーションの仕様としてエラー用のクラスを定義します。Errorのサブクラスだったり新規に自前のクラスを用意するかはケースバイケース。
当然途中で変わることもあり得ます。その際はきちんと他のメンバーと情報共有します。
616: 2017/04/17(月)07:32 ID:k0Nquy2H(1) AAS
自分は簡単なアプリではHttpErrorみたいなクラスを定義して使ってる。
もっと複雑なアプリだと、業務エラーのコードとHTTPのエラーコードで
もう一階層作ったりもするけど。
だが、これが推奨なやり方なのかは分からん。俺も知りたい。
617: 2017/04/17(月)08:40 ID:CyuLkfZA(2/2) AAS
ありがとうございます。
statusというプロパティにステータスを返すのは決まっているんだからどこかに
出来合いのものがあるかと思ったんですが、やっぱり自前なんですね。
618(1): 2017/04/20(木)11:26 ID:T7Zz78Cb(1/2) AAS
npm linkを駆使してtypescriptでビジネスロジックを外部モジュールにしてるんだけど
tsc -wで自動コンパイルはできるんだけど
定義ファイルも同時に生成するコマンドオプションってないかな?
619: 2017/04/20(木)11:42 ID:T7Zz78Cb(2/2) AAS
>>618
すんません -w -dですね。ホント申し訳ない
620(1): 2017/04/21(金)21:22 ID:Uj6lwvRH(1) AAS
TypeScriptで動的なキャストみたいなことってできるんでしょうか?
// どこかで定義されたclass
class X {}
interface AX extends X {
a: string;
}
func(x: X) {
省4
621(1): 2017/04/22(土)00:25 ID:NysYFg8M(1) AAS
>>620
let ax=<AX>x
でキャスト出来る。
インターフェースが存在するかどうかはチェックはされないから注意。
622: 2017/04/22(土)10:55 ID:scznilxz(1) AAS
>>621
ありがとうございました。うまくいきました。
623: 2017/04/26(水)12:25 ID:mOputr8e(1) AAS
f8appのコード読んでんだけど
flowって驚くほどtypeScriptと似てるね。
んでReduxのアクションな書き方が参考になる。
type ParseObject = Object;
export type Action =
{ type: 'LOADED_ABOUT', list: Array<ParseObject> }
| { type: 'LOADED_NOTIFICATIONS', list: Array<ParseObject> }
省3
624: 2017/04/27(木)14:10 ID:2oprloyo(1) AAS
いやーTypeScriptって本当にいいものですよね
恥ずかしいソース書いてもコンパイルすればそれなりの形になってますし
全ソースが1つにまとまったjsファイルを見るとカタルシスを覚えます
javascriptを扱うのに最高の言語です
625: 2017/04/27(木)16:28 ID:a+4IBLmk(1) AAS
開発用と納品用でコードわけられるとかありがたい
626(1): 2017/04/27(木)17:45 ID:/9P4GBtP(1) AAS
minifyが出来なくて悩んでおります。
Targetをes5にしてもエラーが出る。
627: 2017/04/28(金)08:31 ID:IMlkcp1b(1/2) AAS
>>626
結局該当箇所っぽいところの構造を変えて解決した
case 'Text':
{
let text: Text;
/* ごちゃごちゃした処理*/
text = {
省20
628(1): 2017/04/28(金)09:00 ID:IMlkcp1b(2/2) AAS
すいませんminifyの件ですが一番の問題は
外部ライブラリとして別にパッケージを作ってnpm linkしていたんですが
その外部ライブラリのtsconfigの設定でtargetをes2015にしていたのが原因のようです。
npm上で公開してるライブラリってes2015のものとes5のものが混ざってるんですかね?もしそうならminifyのとき問題でそう。
そろそろブラウザもes2015に対応してきたし外部ライブラリもes2015でいいんじゃないかと思いましたがまだまだes5のほうがいいんですかねー
629(1): 2017/04/28(金)15:19 ID:ZmVIrkLy(1) AAS
Announcing TypeScript 2.3
外部リンク:blogs.msdn.microsoft.com
630(1): 2017/04/28(金)21:52 ID:CfPEmNk9(1) AAS
>>628
ちゃんと設定すれば、TypeScriptが変換してくれるんじゃないの?
631: 2017/04/29(土)00:20 ID:Ix6JNrOr(1) AAS
>>630
targetをes5にしてlibに”dom”と”es2017”を設定したら
ちゃんとminifyもできつつasync await とかobject.assaignとか使えました。
typescriptの問題というよりuglify-jsの問題ってことすね。
632: 2017/04/29(土)08:40 ID:fFSdol5k(1/3) AAS
>>629
ギャー!!
適用したらエラーだらけになった!!
633: 2017/04/29(土)09:01 ID:fFSdol5k(2/3) AAS
アンインストールしたらVSでtsファイル開いても識別子の色分けとかインテリセンスが出てこなくなってVSぶっ壊れたわ
再インストールだなこりゃ
634: 2017/04/29(土)09:05 ID:fFSdol5k(3/3) AAS
2.3アンインストール後に再度2.3インストールしてもぶっ壊れたまま
迂闊に入れないほうがいいなこれ
635: 2017/04/29(土)14:53 ID:D/W8thCK(1) AAS
馬鹿には無理
636: 2017/04/30(日)09:24 ID:V5NYhrdd(1) AAS
不細工ハゲが偉そうに
637(1): 2017/04/30(日)11:46 ID:A3RU6CWl(1) AAS
不細工じゃねーし!
638: 2017/04/30(日)12:00 ID:0Jw8BHIT(1) AAS
相対パスでimportしようとすると from ’../../lib/a’ と書くことが多いのですが
..を何とかしようと思いtsconfigでbaseUrlを設定したところ
from ‘lib/a’とかけるようになって素敵だったんですが
生成したjs側で同じように相対パスを使わない方法にできずjs側からimportできなくなりました。
どうすればいいんですかね
639: 2017/04/30(日)12:07 ID:VPr4LyhY(1) AAS
deployしてみ
640: 2017/04/30(日)13:53 ID:bwYTEyCy(1) AAS
おい、>>637に突っ込めよ!
641: 2017/04/30(日)14:18 ID:uAfPQWLU(1) AAS
ハゲに付ける薬なし
上下前次1-新書関写板覧索設栞歴
あと 361 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.030s