【node.js】サーバサイドjavascript 5【Nashorn】 (796レス)
1-

595
(1): 2020/11/22(日)01:12 ID:uIWU98XF(1) AAS
viewコマンドはインストールされたものじゃなくて公開されてるパッケージの情報見るものよ
596
(1): 2020/11/22(日)01:15 ID:nMBoVd/n(1) AAS
>>594
npm viewはレジストリの情報を表示するものでローカルにインストールされたものとは無関係だからだなw
npm ls express
597
(1): 2020/11/22(日)01:19 ID:ujQ9d+0r(1) AAS
>>594
インストールの時は
$ npm i express@next
って打ってるくせに
なんで
$ npm view express version
って打つわけ?
それなら
$ npm view express@next version
でしょうが…
598: 2020/11/22(日)09:31 ID:7U8BOc5J(2/2) AAS
>>595-597
ありがとう。バージョン確認方法の方が間違ってたのか。
あぶねえ。パッケージ側の情報で確認してたら、何を試しても永遠に出来ないって言ってるところだったw
改めて確認したら、ちゃんと5.xが入ってた。
お騒がせしました。

$ npm ls express | grep express
└── express@5.0.0-alpha.8
599
(1): 2020/11/23(月)12:57 ID:3jYl7MgH(1) AAS
node.jsのドキュメントや書籍等で、セキュリティー対策を考慮して書かれているものがあれば教えてください
600: uy ◆e6.oHu1j.o 2020/11/24(火)12:43 ID:gfNKbZsO(1) AAS
>>599
(u_・y)っ外部リンク:asciimw.jp
601: 2021/01/01(金)19:21 ID:/+4IUuLb(1) AAS
さくらVPSとかのlinuxサーバにwebアプリをデプロイするベターな手順ってなんかありますか

単純に考えれば、既存のサーバ中のプロジェクトフォルダを消して gitから新しくpullしてnpm ciすればいいはずなんだが
・毎回node_modulesを作るのは時間がかかるから、package-lock.json に変更が無い場合はそのまま引き継ぎたい
・ローカルの設定、ログフォルダといった、消したくないフォルダがある
からちょっと面倒でなんとかしたい

nodejs deployment tool とかで検索しても、すぐ自社のSaasに誘導しようとして
素のEC2的なlinuxマシンでの方法が分からなかった。
602
(1): 2021/01/02(土)03:22 ID:HtnkmSa8(1) AAS
普通にDockerでnpm i後のイメージ作ればいいんじゃない
603: 2021/01/02(土)04:25 ID:VICQRi/P(1) AAS
>>602
ありがとうございます。やはりdockerか。

docker使えない自分はこんな感じでやっていました。
>・毎回node_modulesを作るのは時間がかかるから、package-lock.json に変更が無い場合はそのまま引き継ぎたい
git fetchした後git diff HEAD..origin/master -- package.json で変更があるか確認出来る。
変更があった場合のみnpm installすればいい。

>・ローカルの設定、ログフォルダといった、消したくないフォルダがある
ログフォルダや設定ファイルは.gitignoreしてあるはずだから、気にせず毎回git merge origin/master しても全く問題ないはず。

深く考えすぎてて、普通に手を動かしたら違和感なくデプロイ出来ました。
604: 2021/03/01(月)09:14 ID:vtDgs//2(1/2) AAS
for文について質問させてください。

const execTime = new Date(2021,0,1);
for (
const ix = new Date(execTime.getTime());
ix.getMonth() === execTime.getMonth();
ix.setDate(ix.getDate() + 1)
) {
console.log(ix);
}

これを実行すると、以下のようになります。

2020-12-31T15:00:00.000Z
...
2021-01-30T15:00:00.000Z

なぜ1月1日〜1月31日にならないのでしょうか?
どのように書けばいいのか教えてください。

node -v
v15.9.0
605
(1): 2021/03/01(月)09:46 ID:g7xhMPQT(1) AAS
タイムゾーン
606: 2021/03/01(月)11:40 ID:vtDgs//2(2/2) AAS
>>605
ボケてました。
ありがとうございました。
607: 2021/03/01(月)17:11 ID:Jj2WQfq1(1/2) AAS
npm outdateをCLIじゃなくてNode側から使う方法ってない?
stdoutからパースするのは流石に手間で
608
(1): 2021/03/01(月)17:57 ID:LQGHEOvf(1) AAS
こいつを直接使えばいんじゃねーの知らんけど
外部リンク[js]:github.com
609: 2021/03/01(月)22:10 ID:Jj2WQfq1(2/2) AAS
>>608
thx
試しにnode_modules/lib/outdated.jsがexportしてる関数を叩いてみたけど
内部のglobalディレクトリ参照でコケているようなエラーが出て機能しなかった
npm自体がModとしてのexportするのもAPIのないEventEmitterインスタンスだし想定してなさそうだ
諦めて自前で実装しているユーザーパッケージを適当に探すよ
610: 2021/04/24(土)07:20 ID:CqGuC/ho(1) AAS
JavaScript/TypeScriptランタイム環境「Deno 1.9」がリリース、パフォーマンス向上に寄与する機能追加など

外部リンク:codezine.jp
611
(1): 2021/07/14(水)17:16 ID:x3WS9adn(1) AAS
質問ってここで良いの?
Angularが良くわかないんだけど、例えばmd-toobarとmat-toolbarはなにが違うの?
いま触っているのが全部md-xxxだけど、ググるとmat-xxxばかり
package.jsonも、angularーmaterialになっているけど、ググって出てくるのは@angular/materialで、違いが分からない
612: 2021/07/16(金)23:12 ID:ku0oROTf(1) AAS
dnsモジュールのgetServers()が初回実行時の内容キャッシュしてて使い物にならん

>>611
フロントエンドスレが一応立ってるからそっちで聞いてみれば
あとはWeb制作板に質問スレあったけど大分前に荒らしに乗っ取られて今はどうなってるやら
613
(2): 2021/07/30(金)15:13 ID:COPEXZUK(1) AAS
Ubuntu18.04でNode.js8.10.0を使ってるのですが、
BigIntのリテラル(例:10N)が使えません。
どうやったら使えるように出来るのでしょう?
614
(1): 2021/07/30(金)15:53 ID:0CdNCLhG(1) AAS
Node.jsをv12以上にする(細かいこと言うとv10の途中から使える)
615
(2): 2021/07/30(金)17:48 ID:n/UloM9p(1/2) AAS
漏れは、Windows 10, WSL2, Ubuntu 18.04, VSCode だけど、

Linux側には、日本人が作った、バージョンマネージャーのanyenv で、rbenv, nodenv を使って、
ruby 2.6.6, node 12.16.2 を入れた

yarn は、Windows側に入れて、Linux側から、拡張子なしのyarn コマンドを呼べる。
これは、#!/bin/sh で始まるシェルスクリプト

anyenv 公式サイト
外部リンク:github.com

anyenv + macOS環境構築
外部リンク:qiita.com

anyenv は多言語向きで、rbenv, nodenv, pyenv, phpenv などを同じ使い方で、統一的に扱える。
~/.bashrc に、下の2行を追加するだけで、各言語ごとに追加しなくても良い

export PATH="$HOME/.anyenv/bin:$PATH"
eval "$(anyenv init -)"
616: 615 2021/07/30(金)18:08 ID:n/UloM9p(2/2) AAS
anyenv などを使わず、
Docker で探した方が、もっと簡単かも

apt でインストールした、Node.js 8 は、アンインストールすれば良い
617: 2021/07/30(金)18:19 ID:7AkGA5GJ(1) AAS
スクレイピングしたいんですけど何を勉強すればいいですか
不正アクセスに問われたりしないでしょうか?
セキュリティ対策はどのようなことに注意すればよいでしょうか?
618: 2021/07/30(金)21:07 ID:AXk+vMk4(1) AAS
今ならPuppeteerか同種のヘッドレスブラウザで実装するのが楽
通常の用途であればセキュリティを気にする部分はない
不正アクセスはまたの問題だから他の質問スレで聞こう
619
(1): 613 2021/07/31(土)11:22 ID:A0amfNLA(1/2) AAS
皆さんありがとうございました。
最新のLTS版Node.jsを入れたらBigIntなリテラル(N)が使える様になりました。

どのようにUbuntu18.04に最新版をインストールしたかと申しますと。

 1. npmでnコマンドをインストール
 2. nコマンドで最新LTS版Node.jsをインストール
 3. aptでインストールしていたnodejsとnpmをアンインストール(依存も解消)

です。
620
(1): 615 2021/07/31(土)11:37 ID:tQlroryC(1) AAS
NVM, n も、知ってるけど、
各言語ごとに、ツールの使用方法を覚えるのが大変

全言語で使用方法が統一されている、anyenv, asdf が良い。
最近はどの言語も、Docker が多い
621: 613 2021/07/31(土)12:37 ID:A0amfNLA(2/2) AAS
>>620
Node.jsでパッケージングされているプログラムだけで完結できるのに、
新しいNode.jsにする上で、
他のプログラムや仮想化に依存しなくてはいけない理由は何ですか?
仮想環境が便利だ等であれば別の話だと思うのですが。

私はC/C++、Java、Perl、JavaScript(フロント少々)使いで、
最近Node.jsに手を出し始めたのですが、
anyenvやasdfについては全く存じ上げませんでした。
それらを覚える事によって、
それらのラーニングコストを上回る恩恵を授かれるとは思いませんでした。

>>614さんのアドバイスから>>619まで行き着いた次第で、
シンプルに管理コストを抑えられるるのが一番だとも思っています。
622: 2021/07/31(土)16:07 ID:nZmJDmGx(1) AAS
好きなもん使えばいい
俺もubuntuではaptでクソ古いNode入れてからnpmでn入れてnからlatest突っ込んでるよ
623: 2021/07/31(土)17:22 ID:23Q0KlZH(1) AAS
ruby 君の言うことを真に受けてはいけない
624: 2021/07/31(土)19:12 ID:8Bi9zOKj(1) AAS
Ubuntu-ltsのデフォnodejsが10.xだもんなあ
オレの環境では動かない、とか言われても知らねえよ。NodeJS公式もサポートしないバージョンまでカバーできる訳ないだろうが
625
(1): 2021/08/04(水)17:08 ID:O4k/EVJC(1) AAS
「Electron」と「WebView2」はどう違う? 〜「Electron」の開発チームが解説
外部リンク[html]:forest.watch.impress.co.jp
626: 2021/08/04(水)19:09 ID:qrQ4Lnon(1) AAS
>>625
ただの翻訳(かつ雑な簡素化)記事なのにその旨の記述がない
画像も元ブログからの転載(盗用)だけどクレジット無し
大手メディアでこれって大丈夫か?
627: 2021/08/04(水)19:20 ID:L5LJfz6s(1) AAS
丸コピしたのとは違うと思うぞ
画像の方はアウト臭いな
628: 2021/08/24(火)08:49 ID:YRe/N1mJ(1) AAS
node.jsのconsole.logのpretty printをデフォルトでやめさせる方法ないのかな?
このおせっかい機能すごくいらいらするのは俺だけかな?
629: 2021/08/24(火)10:42 ID:5pgrc+RU(1) AAS
process.stdout.write使え
console.logはブラウザに寄せようと頑張ってるんやろ
630: 2021/08/24(火)15:31 ID:qPWgCxGJ(1) AAS
puppeteerを使ってるプログラムをwebpackでバンドルすると、distにはChromiumが無いからエラーが出ちゃうわ
よく分からん
631: 2021/08/24(火)18:06 ID:Ya+eWSVV(1) AAS
Webサイトのコンテキストで動かしてるならDevToolsとセッション張れないから意味ないぞ
外部リンク[md]:github.com
632
(1): 2021/08/28(土)10:29 ID:rJz23Izt(1) AAS
nodeで作ってるapiがメモリ使用量1GBくらいでかなりベビーなんですけど
ここら辺のパフォーマンスチューニングについての知見がまとまってるサイトか書籍ないですかね?
633
(1): 2021/08/28(土)14:06 ID:TLYe8gOd(1) AAS
>>632
動画リンク[YouTube]
634: 2021/09/01(水)09:26 ID:J/+xOU5Y(1) AAS
>>633
あざます!
635: 2021/09/06(月)01:52 ID:B6t4Zwws(1) AAS
Fastifyいいな
636: 2021/09/15(水)19:03 ID:fHmj5hYp(1) AAS
スクレイピングすると地獄へ落ちるって本当ですか?
637: 2021/09/15(水)20:01 ID:DvcCOYYc(1) AAS
puppeteerのplaygroundでforループすれば任意の回数地獄に落ちられるぞ
638: 2021/09/18(土)03:38 ID:YPBxfQEw(1) AAS
スクレイピングの勉強するのですが、下手するとF5アタックになるとかの法的リスクと回避法を重視している入門書ってありますか?
今の所やりたいことは、特定の市町村の5年分気温気象データを収集して自分用に加工
近所のコインランドリーの稼働データを集計して空いてる確率が高い時間帯を調べるの2つです
前者は膨大なデータを取得する必要があります
後者は10分から20分おきにアクセスすることになります
639: 2021/09/18(土)04:59 ID:ZvozewrD(1) AAS
マルチポストすんな
640: 2021/09/18(土)18:16 ID:J85RgKD5(1) AAS
頭のおかしい人に以下のようなことを言われました

>>基本、スクレイピングは営業妨害との戦い。
>>どの本にも、そう書いてある。
>>スクレイピングを推奨する本はない

具体的な書籍名を教えてください

>>5ch は、マルチポスト禁止!
>>同じ質問を、複数のスレや外部のサイトに書いてはいけない

どこでそんなルールが決まっているのでしょうか?
641: 2021/09/19(日)01:37 ID:k7BgVJB0(1/2) AAS
node初心者だけどnpmが脆弱性情報吐きまくってこわい
642: 2021/09/19(日)13:46 ID:k7BgVJB0(2/2) AAS
ググったらauditはクソ設計みたいな記事が出てきた
無視して良かったんだね
いままで膨大な時間を無駄にしてた…(´Д`)ハァ…
643
(1): 2021/10/10(日)13:43 ID:rC7NAnza(1/3) AAS
なんか変な場所でエラー投げられてプロセスが止まると思ったら
依存Modの一つがPromiseコンストラクタのcallback内で非同期エラー投げて止まっていた
そりゃrejectしないしcatchブロックにも引っ掛からんわどうすりゃいいねん
644: 2021/10/10(日)17:42 ID:6Ldb4KuL(1) AAS
そんな事は4,000年に一度しかないからヨシ!
645: 2021/10/10(日)18:08 ID:aEbL1282(1) AAS
>>643
その依存モジュールを捨てる
646
(1): 2021/10/10(日)20:04 ID:rC7NAnza(2/3) AAS
最悪プルリク投げるかと思ってリポジトリ見たら消えてた
捨てて自分で書くわ
647: 2021/10/10(日)20:07 ID:zb1mAGkH(1) AAS
>>646
お疲れさん。ちな何て言うモジュール?
648: 2021/10/10(日)20:11 ID:rC7NAnza(3/3) AAS
具体名は避けるけどProxy関連
自前のDNSBL作るのに使ってる
649: 2021/10/20(水)02:52 ID:7Ch1Hu5l(1) AAS
スクレイピングに興味があるのですが1時間に1回の頻度のGETだけで訴えられる危険があるって本当ですか?
650: 2021/10/20(水)07:42 ID:442/7USe(1) AAS
マルチ
651: 2021/10/21(木)01:45 ID:Z5+NocI4(1) AAS
17でStrcturedCloneの実装来るのか
もうv8にある似たようなAPI使わなくてよくなるのな
652: 2021/10/25(月)18:50 ID:xfFAFxQ2(1) AAS
パッケージ管理ツールのnpmで公開されている「UAParser.js」は、ユーザーエージェントの判定処理を
実行するJavaScriptライブラリであり、Facebook・Microsoft・Amazon・Googleなどの超大手企業を
含む1000以上のプロジェクトで採用されています。
そんなUAParser.jsがハッカーによってハイジャックされ、LinuxおよびWindowsデバイスを対象に暗号
資産採掘やパスワードの盗難を行うトロイの木馬が仕込まれていたことが判明しました。
653: 2021/10/25(月)18:55 ID:WgjrPOfi(1) AAS
GIGAZINEからのコピペだろうけどちゃんと引用元URL貼っとけよ
654: 2021/11/17(水)15:53 ID:OJq8ALeu(1) AAS
上にもちょっとありましたが、レンタルサーバでnode.jsを動かすのって現実的じゃないもんなんですか?
655
(1): 2021/11/17(水)16:00 ID:lSu1Xmea(1/2) AAS
いや全然
上にある「レン鯖はPHP」ってレスは恐らく既に環境を構築済みで
あとは実行する.phpを配置するだけのWebスペースを想定したレス
656
(1): 2021/11/17(水)16:22 ID:sYjDCVja(1) AAS
node.js使えるレンサバってあるの?
657: 2021/11/17(水)16:34 ID:lSu1Xmea(2/2) AAS
>>655に書いたような実質Webスペースの共有レン鯖でも端末触れる一部では使えるよ
占有型ではもちろん使えるけど今なら間違いなくVPSのほうがいい
658: 2021/11/17(水)17:46 ID:+3kxan1m(1) AAS
古き良きLAMP環境に拘る理由がないなら好きにしたら良い
659: 2021/11/17(水)23:30 ID:YG2/9hEL(1) AAS
>>656
昔ながらのFTPとかでファイル置くしかできないようなサービスならまずそんなもの導入されてないだろうな
660
(4): 2021/11/25(木)05:21 ID:HW7nta/v(1/3) AAS
gulp4でejsをを使用したい + 別のタスクと記述方法を統一したいのですが
どうしてもエラーが解消できないのでどなたかご教授頂けませんか?(exportsにオブジェクトを突っ込む方法)
古い記述方法では動作しますが、新しい記述方法ではどうしても動作しません。

色々ググったのですが、どのサイト(英語サイトも含め)も古い記述方法で書かれており困っています。
公式も古い書き方に記述されています。(ejsだけ新しい書き方に対応していない?)
外部リンク:www.npmjs.com

//old
gulp.task('ejs', function() {
//
}

新しい記述方法では、どうしても下記のエラーが解消できません。
- The following tasks did not complete
- Did you forget to signal async completion?

また`ps aux`で別のプロセスも走っていないことを確認しており、別のgulpタスクも全てオフにした状態で
デバッグしております。
関数の引数にdoneを入れてdone()で締めたり、return除いてみたり試行錯誤していますが、数時間ハマっています。
どなたら分かる方いらっしゃたらご教授お願い致します。

//new
function ejs() {
return gulp
.src(srcPath.ejs)
.pipe(ejs());
}
exports.ejs = ejs;
661: 2021/11/25(木)06:59 ID:nh0ZEMSE(1/2) AAS
このエラーメッセージで検索すれば?
それか、意味を考えてみれば?

The following tasks did not complete
Did you forget to signal async completion?

もっと単純な例で、動くかどうか試してみれば?
662: 2021/11/25(木)07:24 ID:QOEXsJ22(1/10) AAS
>>660
状況全く分からんが、JSのパーサーはややおかしい?所があって、returnの後はぶった切られる。
よって、 return gulp.src(srcPath.ejs).pipe(ejs()); と改行を無くして試す事を勧める。
663
(1): 2021/11/25(木)07:46 ID:88pS2ZzI(1) AAS
>>660
外部リンク:developer.mozilla.org
664: 2021/11/25(木)08:25 ID:QOEXsJ22(2/10) AAS
>>663
これ return と yield (と後置演算子もか?)はパーサの仕様バグだよな?
直感的じゃ無いという意味で。
665
(1): 2021/11/25(木)08:37 ID:acYGqwrp(1) AAS
仕様だよ
お前の直感がおかしい
666
(1): 2021/11/25(木)08:57 ID:QOEXsJ22(3/10) AAS
>>660
いや実際660はそうしてるだろ。俺も以前嵌った事があったし、
実際セミコロン必須の言語だとどこで切ってもいいから、660の書き方はよく見るよ。
俺はお前がおかしいと思うが。
結局これもMDNで説明するのに例外扱い("no LineTerminator here" 規則)になってるし。
統一された文法ではないよね。(=もっとましな仕様にする事も出来たし、実際他言語はそう)
667: 2021/11/25(木)08:57 ID:QOEXsJ22(4/10) AAS
すまん分かると思うが 666 は >>665
668
(1): 2021/11/25(木)09:45 ID:6PNOZvLH(1/3) AAS
>>666
その書き方よくみるというけど
1行で書けば見やすいのにわざわざ複数行で見にくくしている意図がわからない
669
(1): 2021/11/25(木)10:02 ID:QOEXsJ22(5/10) AAS
>>668
そりゃ、そうした方が見やすいと思う人がそうするだけだよ。
お前がそう思わなければしなければいいだけ。

ただ実際、660にある公式のコードもそうなってるだろ。
俺も個人的には横に長いコードを書くけど、一般的には縦に長いコードの方が多いと思うよ。
670
(1): 2021/11/25(木)10:13 ID:rnpiht7q(1/2) AAS
returnの直後に改行してないからASI関係なくないか?
671
(1): 2021/11/25(木)10:19 ID:QOEXsJ22(6/10) AAS
>>670
660の「新しい記述方法だと動かない」とされてるコードは return gulp で改行してる。
660内の公式はこれが出来ない事を知ってるから、 gulp.src(...) で改行してる。(ただしreturnはないが)
672
(1): 2021/11/25(木)10:26 ID:6PNOZvLH(2/3) AAS
>>669
それは長い行を分けて改行しているだけ
一方で>>660の人は長い行にならないのに無意味に改行しまくり
673
(3): 2021/11/25(木)10:28 ID:rnpiht7q(2/2) AAS
>>671
return
gulp.src()
ならreturnの後にセミコロンが自動挿入されるけど

return gulp
.src()
ならgulpの後にセミコロンは自動挿入されないでしょ

それよりfunction ejs(){}って名前がダメなんじゃないの?
.pipe(ejs())で再帰になってる
674
(1): 2021/11/25(木)10:36 ID:QOEXsJ22(7/10) AAS
>>672
長さではなく、意味で切るんだよ。

>>673
> return gulp
> .src()
> ならgulpの後にセミコロンは自動挿入されないでしょ
されて gulp が返されるはずだぞ。
675
(1): 2021/11/25(木)10:42 ID:6PNOZvLH(3/3) AAS
>>674
意味で切るならgulpと.src()の間で改行を入れてるのは明らかにおかしい
無意味な改行だ
676: 2021/11/25(木)10:42 ID:QOEXsJ22(8/10) AAS
>>673
すまん、674は間違い。
試してみたところ、確かに挿入されないようだ。
677: 2021/11/25(木)11:42 ID:QOEXsJ22(9/10) AAS
>>675
相手するだけ無駄っぽいが、そういうのは物によるんだよ。
そうした方が見やすいと思う奴がそうするだけ。

return ウンコ製造器675号
.src(ケーキ)
.pipe(胃)
.pipe(小腸);
.pipe(大腸);

なら、675によってケーキがウンコに変わるのが見やすくなると思う奴もいるだろ。
(詳しくないが)gulpの場合は基本はフィルタで型が変わらないし、出発点はソースファイルに決まってるから、

return gulp.src(ソース)
.pipe(フィルタ1)
.pipe(フィルタ2)

のケースが多いとは思うけど。

ついでに言っておくと、お前JSによくいる、やたら文法に拘る奴なら、止めた方がいい。
それだと全く進歩しないので。
上記の通り、まあどちらもいるわな、程度で進めていかないと、上達しない。
どちらが正しいとか、そういう問題ではない。
どうにもJS初心者は「改行を極める」「セミコロンを極める」とかになりがちのようで、よろしくない。
678
(1): 2021/11/25(木)12:57 ID:K4FLN1Dn(1) AAS
んじゃ俺は括弧の後に半角スペースを入れるのを極めるわ。
679: 2021/11/25(木)13:45 ID:R4fLO2Lj(1) AAS
必死過ぎて笑えるw
680: 2021/11/25(木)14:09 ID:reZpBJt7(1) AAS
珍しく伸びてんなと思ったらこれだよ
681
(1): 2021/11/25(木)19:42 ID:b7JhAcnH(1) AAS
.NET Standard が世界の中心と考えてる人でしょ
別スレで見た
682: 2021/11/25(木)21:14 ID:QOEXsJ22(10/10) AAS
>>678
ゆとりにはそれがお似合いだね
683: 2021/11/25(木)22:13 ID:HW7nta/v(2/3) AAS
610です。
仕事でレス遅くなりました。

>>673
ありがとうございます!
このコメントからピンときて修正したら無事に動作しました。

超初歩的なミスでした、、
こちらの書き方は関数の中にejs(gulp-ejsオブジェクト)を書いても動作しましたが
gulp.task('ejs', function() {
}

こちらでは関数に同じ関数入れたらまだタスク終わってないよと、動作しませんよね。(気づけば当たり前なのですが、、)
function ejs() {
}

お騒がせしました。コメント頂いた方もありがとうございました!
684: 2021/11/25(木)22:25 ID:HW7nta/v(3/3) AAS
誤 610です。 = > 正 660です。
685: 2021/11/25(木)23:27 ID:nh0ZEMSE(2/2) AAS
漏れは、Ruby でも、パーサーの誤解釈を避けるため、
. を行末に置く

a.
b( ).
c( )
686: 2021/11/26(金)01:34 ID:KdVwfKAT(1) AAS
なんで Ruby が出てきた
687
(1): 2021/11/26(金)22:15 ID:FIwAqG/H(1) AAS
スクリプト系は改行も終端になって駄目ね
688
(1): 2021/11/26(金)23:57 ID:MbvsChzk(1) AAS
>>687
JavaScriptで駄目なのはreturnのみの行の時だけだよ
return
a
.b()
は駄目だけどこう書く人はいないから問題は起きることはない
return a
.b()
なら大丈夫
689: 2021/11/27(土)09:09 ID:kX7QbhiL(1) AAS
そういうのはコーディング時にいちいち気にするよりlinterでチェックだな。
690
(1): 2021/11/27(土)09:24 ID:LVgG7qhW(1/6) AAS
>>688
それを知ってないと嵌るだけの無駄仕様だよ。
セミコロンなしの筆頭だったAirbnbも諦めたようだし。
> ASI contains a few eccentric behaviors, though, and your code will break if JavaScript misinterprets your line break. These rules will become more complicated as new features become a part of JavaScript. Explicitly terminating your statements and configuring your linter to catch missing semicolons will help prevent you from encountering issues.
> 外部リンク:github.com
他にセミコロンなしの有名ルール勢ってあったっけ?

return
'qwerty'
+'asdfgh';

とは書きたくなるだろ。書きたいように書けないのはよろしくないよ。今風ではないね。
セミコロン書くルールならASIなんて無い方がマシだし。
691
(1): 2021/11/27(土)09:32 ID:MtgsfYs/(1/2) AAS
書き方にこだわりがあるならそうではない書き方と比べて◯◯の利点があると言わないと他人の理解は得られにくい。
好みだけの問題ならスクリプトの仕様に従うしかない。
692: 2021/11/27(土)09:36 ID:TUbuKQsw(1) AAS
自分はなりませんねとしか
693: 2021/11/27(土)09:41 ID:LVgG7qhW(2/6) AAS
>>681
俺向けではないと思うが、

return
'qwerty'
+'asdfgh';

の利点は見れば分かるとおり、インデントを揃えられる事だよ。
タグの方が分かりやすいかもしれんが一々引っかかると面倒なので止めただけ。

return '<div>'
+'<span>'+
+'</span>'+
+'</div>';

だと最初のdivのインデントがずれるだろ。
まあ言うほどではないし、実際俺はこの書き方をしているが、出来れば return の後に改行したいね。
694: 2021/11/27(土)09:42 ID:LVgG7qhW(3/6) AAS
すまん693内681は>>691
695: 2021/11/27(土)10:25 ID:wIEauZJC(1) AAS
お前ら何も考えずにPrettier使え
それが今のデファクトだ
696
(1): 2021/11/27(土)11:22 ID:xgA8vuBV(1) AAS
>>690
Airbnbがセミコロンなしの筆頭って頭腐りすぎたろ
git時代に歴史改ざんしてもすぐにバレる
2012年にセミコロンの章が初めて書かれたときからAirbnbはセミコロン派だ
外部リンク[md]:github.com
697
(1): 2021/11/27(土)11:35 ID:LVgG7qhW(4/6) AAS
>>696
ならAirbnbというのは俺の勘違いだな。
俺がJSを始めた2013-14頃、有名なコーディングルールが4つほどあって、Airbnbが一番トンデモだった(が、人気は一番という話だった)
その中にはセミコロンを打つな、というルールもあった。誰か思えてないかね?

なお俺はgoogleのルールが一番マシっぽいのでそれを参考にした。(こちらはセミコロンあり)
698: 2021/11/27(土)11:43 ID:WAiK9igD(1) AAS
>>697
どこだか覚えてないけど、確かにどっかでセミコロン打たないで、短文を1行に書くときだけセミコロン使うてなの見たか聞いたりした記憶ある。
699: 2021/11/27(土)12:14 ID:LVgG7qhW(5/6) AAS
一応自分でも再確認しているところだが、
> Always use semicolons. (google)
> Use them. Never rely on ASI. (jQuery)
> あなたからセミコロンを奪おうとする反抗的な軍隊があるようです。でも確かに私達の伝統的な文化はまだ元気に生き残っています。だからコミュニティに従って、セミコロンを使いなさい!(Node)
> 外部リンク:qiita.com

npmのもかなりトンデモだった記憶があり、改めて確認すると、打つな派だ。
> ;(x || y).performAction()
> ;[a, b, c].forEach(performAction)
> for (var i = 0; i < 10; i ++) {
> switch (state) {
> case 'begin': start(); continue
> case 'end': finish(); break
> default: throw new Error('unknown state')
> }
> end()
> }
> 外部リンク[php]:www.w3resource.com

となると俺の勘違いはnpmという事になるが、npm==Nodeじゃねえのか?という疑問は発生する。Nodeはnpmからのフォークか?
多分俺が当時見たのは Airbnb, npm, jQuery, googleだと思う。
700: 2021/11/27(土)12:30 ID:i1Pzoh/C(1) AAS
NodeはRyan Dahlが始めてセミコロンあり
npmはIsaac Z. Schlueterが始めてセミコロンなし
IsaacはNodeの2代目リーダーだけどNodeではセミコロンを書いてた
701
(1): 2021/11/27(土)12:54 ID:XFyMXPdv(1) AAS
セミコロンレスの強硬派として有名なのはStandard
カスタマイズも許さない
外部リンク:github.com
702: 2021/11/27(土)13:40 ID:LVgG7qhW(6/6) AAS
>>701
初コミット2015年なのにstandardと主張して他と違うルールとか、頭おかしいな。
とはいえ議論する時間が一番無駄というのは同意だが。

多分セミコロン無し言語出身者用のルールが一つは必要で、
それに向けてのstandard命名なのだろうけど、なんだかね。
703
(1): 2021/11/27(土)13:49 ID:MtgsfYs/(2/2) AAS
文字列を「+」で繋げるのもうやめようよ。見にくいよ。
「´」(バッククォート)で括ればいいじゃん
704: 2021/11/27(土)13:51 ID:NSUO7OXD(1) AAS
>>703
このルール入れろ
外部リンク:eslint.org
705: 2021/11/28(日)09:28 ID:yQx61O6E(1) AAS
javascriptならセミコロン無い方がいいかなぁ
706: 2021/12/14(火)18:36 ID:R85W1UAs(1) AAS
async/awaitってawaitしかしないから無駄じゃね?
707: 2021/12/26(日)08:00 ID:iIGCgNg3(1) AAS
Promise, async/await で無駄なのは、デタラメ解説の数々、ほぼ全滅だろ、酷い惨状だねー。
708: 2021/12/26(日)09:04 ID:S+a9i6vw(1/6) AAS
それを言ったらWeb系言語は全部デタラメ解説で駄目だろ
初心者が情報公開の練習として解説を書くからそうなる
709
(1): 2021/12/26(日)10:12 ID:6ScHvZpk(1) AAS
それはしゃーない、正確さにこだわりすぎて萎縮する方がデメリットが大きい
読む方が気を付けて取捨選択するしかない
710: 2021/12/26(日)10:19 ID:jog3O69G(1) AAS
c++とかjavaとか含めて進化してる技術の古い解説はことごとくゴミ化してるし一緒だわな
711
(1): 2021/12/26(日)11:04 ID:4h95DB/2(1/3) AAS
classは非推奨にして欲しい。
中途半端で使いにくい。
712
(1): 2021/12/26(日)13:04 ID:PmcDL+gd(1/2) AAS
>>711
どういう所?
713: 2021/12/26(日)13:40 ID:S+a9i6vw(2/6) AAS
>>709
同意だが、C#はかなりマシ
一般的に上級者は初心者向けの説明なんて書きたくないものだが、
プログラミング自体について語りたい連中も多少はおり、そいつらを上手く取り込んでる
714
(1): 2021/12/26(日)17:59 ID:4h95DB/2(2/3) AAS
>>712
上っ面だけのクラスベース。
内容はプロトタイプのまま。
715: 2021/12/26(日)18:08 ID:PnBrsUGe(1) AAS
上っ面といってもそこで整合とれていて内部の問題が表に現れないなら別に問題ないと思うが。
まぁ、中途半端というなら何かそういう部分が見えているということなんだろうが。
716: 2021/12/26(日)18:30 ID:oeLmweY9(1) AAS
定期的に呟いてる人だから気にせんでいいよ
717: 2021/12/26(日)18:50 ID:PmcDL+gd(2/2) AAS
>>714
オブジェクト指向的センスが無いと言う事だね

今の時代、両方出来ないとプロだと厳しいと思うがね
718
(1): 2021/12/26(日)18:55 ID:S+a9i6vw(3/6) AAS
プロトタイプの方が表現出来る空間が広くて、実際にただの糖衣構文でクラスを実装出来てるだけだろ
クラスで閉じて使ってる限りプロトタイプの側面は見えないはずだが

混ぜて使うのってありだっけ?(class宣言した物にgetPrototypeOfとか)
class構文の時にどうプロトタイプが配置されるか仕様で確定してないと駄目だと思うが、これってしてるのか?
719
(1): 2021/12/26(日)19:35 ID:kUhTwtcg(1) AAS
GoやRustなんかの新しい言語がクラスベースのオブジェクト指向を採用しないご時世
時代遅れとなったC++やJava風のクラス構文を導入する必要はなかったわな
TC39的にはES4で入れ損なったから悲願だったんだろうけど
720
(2): 2021/12/26(日)20:25 ID:M+F+5/6j(1/3) AAS
プロトタイプベースのオブジェクト指向ってIDEや静的型付けと相性悪いのでは
721
(1): 2021/12/26(日)20:48 ID:S+a9i6vw(4/6) AAS
>>720
仮にそうだとしても、IDEの都合を優先してプログラミング言語を簡素化するのは完全に本末転倒だろ
初心者専用のオモチャが欲しければScratchで満足しとけ
1-
あと 75 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.041s