タグ

関連タグで絞り込む (196)

タグの絞り込みを解除

javascriptに関するnilabのブックマーク (853)

  • JSのクラス名をゲットする - Qiita

    EventEmitterとかのEvent名にクラス名を仕込みたいなと思って、自分のクラス名を取得する方法を考えた。 シンプルに this.constructor.name でよかった。extendsした時の挙動がよくわからなかったので試した。 class Base { constructor() { console.log("Base"); // line 1 console.log(this.constructor.name); // line2 } getClassName() { console.log(this.constructor); // line4 console.log(this.constructor.name); // line5 } } class Something extends Base { constructor() { super() console.lo

    JSのクラス名をゲットする - Qiita
    nilab
    nilab 2019/06/09
    「EventEmitterとかのEvent名にクラス名を仕込みたいなと思って、自分のクラス名を取得する方法を考えた。シンプルに this.constructor.name でよかった。extendsした時の挙動がよくわからなかったので試した」
  • GitHub - issm/mario: Mario on your website.

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

    GitHub - issm/mario: Mario on your website.
    nilab
    nilab 2019/05/27
    GitHub - issm/mario: Mario on your website.
  • documentationjs + add-text-to-markdownでREADME.mdのAPIリファレンスを自動更新

    documentationjs + add-text-to-markdownでREADME.mdのAPIリファレンスを自動更新 documentationjsはJSDocからドキュメントを生成できるツールで、ES2015以降のコードにも対応しています。 (TypeScriptは対応してないようです) 以前はMarkdownへの出力が難しかったのですが、いつのまにかdocumentation build -f mdでMarkdownでのAPIドキュメントが生成できるようになっていました。 これを使うことで、ライブラリを書いてそのJSDocからドキュメントを生成して、READMEのUsageセキュクションを自動的に更新できるようになっています。 以前もできたのですが、かなりトリッキーなテーマを書いたりしないといけませんでした。(後stdoutへの出力がなかった気がします) –theme for

    documentationjs + add-text-to-markdownでREADME.mdのAPIリファレンスを自動更新
    nilab
    nilab 2019/05/17
    「documentation build -f mdでMarkdownでのAPIドキュメントが生成できる」「documentationjsはあくまでJSDocからドキュメントを作るツールなので、JSDoc を書いたコードが必要です」
  • https://github.com/tc39/proposal-class-fields/blob/master/PRIVATE_SYNTAX_FAQ.md

    https://github.com/tc39/proposal-class-fields/blob/master/PRIVATE_SYNTAX_FAQ.md
    nilab
    nilab 2019/05/04
    proposal-class-fields/PRIVATE_SYNTAX_FAQ.md at master · tc39/proposal-class-fields
  • Public and private class fields  |  Web  |  Google Developers

    Show navigation Several proposals expand the existing JavaScript class syntax with new functionality. This article explains the new public class fields syntax in V8 v7.2 and Chrome 72, as well as the upcoming private class fields syntax. Here’s a code example that creates an instance of a class named IncreasingCounter: const counter = new IncreasingCounter(); counter.value; // logs 'Getting the cu

    nilab
    nilab 2019/05/04
    「The new private fields syntax is similar to public fields, except you mark the field as being private by using #.」
  • Private Class Field の導入に伴う JS の構文拡張 | blog.jxck.io

    Intro ECMAScript の Private Class Field の仕様策定と各ブラウザの実装が進んでいる。 これにより、従来の JS にはなかった Class の Private フィールドが使えるようになる。 提案されている構文や、挙動について解説する。 Class Field Declaration まず前提として、現状の Class の フィールドはコンストラクタで定義する必要がある。 例えば count フィールドを持つ Counter クラスを定義した場合、以下のようになる。 class Counter { constructor() { this.count = 0 } increment() { this.count ++ } display() { console.log(this.count) } } const c = new Counter() c.in

    Private Class Field の導入に伴う JS の構文拡張 | blog.jxck.io
    nilab
    nilab 2019/05/04
    「Private フィールドには # が接頭辞として付く」「これまで Class には Private がなかったため、公開を意図しないフィールドには _ をつけるなどの運用でカバーされてきた」
  • ESDocという(多分)モダンなドキュメンテーションツールの紹介 - maru source

    こんにちは丸山@h13i32maruです。 僕は2015年からESDoc*1というJavaScript向けのドキュメンテーションツールを開発しています。 https://esdoc.org https://github.com/esdoc/esdoc Star 最初のリリースから2年、昨日ようやくv1.0をリリースできました🎉 いやー、ここまで長かったです。今ではRxJSやSketchAPIなど、様々なツールで使用されています。 この2年間、ESDocは2つのゴールを目指して開発してきました。 ドキュメントの作成・メンテナンスを快適にする(ドキュメントを書くの楽しい!という状態) ソフトウェアの使い方を簡単に理解できるドキュメントを作成する(ソースコード読まなくても大丈夫!という状態) この2つを満たすためにESDocは色々な機能を提供しています。 今日はそれらの機能の中でも(多分)モダ

    ESDocという(多分)モダンなドキュメンテーションツールの紹介 - maru source
    nilab
    nilab 2019/05/03
    「僕は2015年からESDocというJavaScript向けのドキュメンテーションツールを開発しています」
  • JavaScriptで六曜を計算する!その2(気分だけ高速化) - babu_babu_babooのゴミ箱

    あまりにも、この計算は遅すぎる! 一度計算したら、マップを作成して、変換表を裏で作ればいいのだけれど・・・・ IEだと遅すぎて、継続するかalertがでる。FXだと1秒かからないのに! でも微妙に高速化した!ってどこがだよ〜って突込みがあるかもしれないが、変数tmpとq0が使用されているところです まぁ〜もともとのPHPのプログラムが見易さ優先で作っているのだから、致し方ないのだが、もっと考えて作ってくれれば良かったのにと思う。配列を使って、数十行のコードを数行で書き直したのには、ちょっと鼻を高くしようっと! <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <title>六曜を計算</title> <script type="text/javascript"> //____________________________________

    JavaScriptで六曜を計算する!その2(気分だけ高速化) - babu_babu_babooのゴミ箱
    nilab
    nilab 2019/04/29
    JavaScriptで六曜を計算する!その2(気分だけ高速化) - babu_babu_babooのごみ箱
  • JavaScriptで六曜を計算してみる - babu_babu_babooのゴミ箱

    もとの六曜計算のプログラムはPHPで書かれてました。 http://www7.big.or.jp/~fujiko/php/qreki.inc.txt これを書き直したのが以下。(でも正しい答えを出すのかは不明) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <title>六曜を計算</title> <script type="text/javascript"> //__________________________________________________ // Date オブジェクトを拡張して、六曜を返すようにする Date.prototype.getQreki = (function ( ) { //旧暦の、年 月 日 閏月 の順で返す function func ( p0, p1, hosei, min ) { retu

    JavaScriptで六曜を計算してみる - babu_babu_babooのゴミ箱
    nilab
    nilab 2019/04/29
    JavaScriptで六曜を計算してみる - babu_babu_babooのごみ箱
  • NodeSchool

    ワークショッパーはオープンソースの学習用モジュールです。 すべてのワークショッパーはウィザード形式です (ワークショップに参加しなくても勉強できます!)。 ほとんどはオフラインでも動きます。

    nilab
    nilab 2019/04/25
    NodeSchool
  • Window.devicePixelRatio - Web API | MDN

    Windowインスタンスプロパティclosedconsolecredentialless (en-US) Experimental Non-standard customElementsdefaultStatus 非推奨 devicePixelRatio documentdocumentPictureInPicture (en-US) Experimental event 非推奨 external (en-US) 非推奨 frameElementframesfullScreen Non-standard historyinnerHeightinnerWidthlaunchQueue (en-US) Experimental lengthlocalStoragelocationlocationbarmenubarmozInnerScreenX Non-standard mozInnerScr

    Window.devicePixelRatio - Web API | MDN
    nilab
    nilab 2018/06/05
    「CSS解像度と物理解像度の比」「一般的なディスプレイと、HiDPI(高DPI)やRetinaのように同じ大きさのオブジェクトを描画するのにより多くのピクセルを使って鮮明さを得ているディスプレイとの差異を扱うのに便利」
  • 2017年JavaScriptのテスト概論 | POSTD

    稿は、JavaScriptのテストについて最も重要な根拠、用語、ツール、アプローチなどの知識を身に着けることを目的とした簡略版ガイドブックです。稿で検討する数々の側面に関する最新の秀逸な記事も紹介しつつ、私たちが経験的に得たことも多少付け加えたいと思います。 Facebookによるテスト用フレームワークであるJestのロゴをご覧ください。 見てお分かりのように、このフレームワークは「苦痛のない」JavaScriptのテストをスローガンに掲げています。しかし、 “次のように言う人” もいます。 苦痛のないテストなんてあり得ない。 実際、Facebookはこのスローガンを掲げるだけの素晴らしい理由があります。一般的にJSのデベロッパは Webサイトのテストにあまり満足していません 。JSのテストには制限があり、実装が難しく、低速である傾向があります。 一方、正しい戦略を立てて適切にツールを

    2017年JavaScriptのテスト概論 | POSTD
    nilab
    nilab 2017/07/12
    自動テスト用 JavaScript フレームワークあれこれ。
  • async関数が実装された - JS.next

    概要 非同期な処理を同期的に書ける関数タイプが実装された。 基 「async」キーワードに続けて関数定義を書くと、async関数となる。 async function afn1() { } afn2 = async () => { } obj = { async afn3() { } } async関数を呼び出すとプロミスが返される。 console.log( afn1() ) // <Promise> このプロミスは、async関数が終了するとその返り値で解決され、例外が起こると棄却される。 async function afn4( flag ) { if ( flag ) return 'Yes' else throw 'No' } afn4( true ).then( v => console.log( v ) ) /// "Yes" afn4( false ).catch( v

    async関数が実装された - JS.next
    nilab
    nilab 2017/05/18
    「「async」キーワードに続けて関数定義を書くと、async関数となる」「async関数を呼び出すとプロミスが返される」
  • モバイルブラウザで画面の縦長・横長を検出する方法を再確認してみた - Qiita

    ※ iOS 8での挙動に関連して追加情報を書いてみました: Safari for iOS 8での画面回転とイベント はじめに モバイルブラウザ(iOS SafariやAndroid標準ブラウザ、Chrome for Androidなど)で、WebアプリのJavaScriptから端末画面が縦長(portrait)と横長(landscape)のどちらを向いているかを調べる方法は、Web上で検索すると色々出てくるのですが、特にAndroid対応を考えると、例えば「au開発者情報Blog: CSS3 MediaQueries で端末回転方向によるレイアウト切り替えができない」辺りに書いてあるように、やってみると上手くいかないことが色々と出てきたりするように思えます。 注意事項(参考) 厳密には、window.orientationやorientationchangeイベントは、現在はあくまでもベン

    モバイルブラウザで画面の縦長・横長を検出する方法を再確認してみた - Qiita
    nilab
    nilab 2017/05/11
    「orientationchangeイベント、resizeイベント、実際の画面リサイズ処理が実行される順序がiOS SafariとAndroid向けブラウザとで異なっている」
  • request-promiseを使ったHTTPクライアントを作る - Qiita

    var rp = require('request-promise'); rp('http://www.google.com') .then(function (htmlString) { // Process html... }) .catch(function (err) { // Crawling failed... }); var rp = require('request-promise'); rp('http://www.google.com') .then(function (htmlString) { // Process html... }) .catch(function (err) { switch(err.statusCode){ case 404: // NOT FOUND Process break; default: // Other Error Proces

    request-promiseを使ったHTTPクライアントを作る - Qiita
    nilab
    nilab 2017/04/28
    request-promiseを使ったHTTPクライアントを作る - Qiita
  • [ヅ] RequireJS の define 関数はグローバル変数的なものを生み出す (2016-05-20)

    妙な挙動をするなぁ(;´Д`) と思って調べてみたら、 RequireJS では define の引数で指定したコードは一度しか読み込まれないらしい。 読み込んだものは、グローバルなオブジェクトで管理されて同じものは読み込まれないようになっている。 require.jsの、requireとdefineの違い - webネタ サンプルコードを書いて試してみる。 RequireJS を使って JavaScript のコードを読み込むには、メイン処理を書いた JavaScript ファイルのパスを、 script 要素の data-main 属性に指定する。 index.html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>RequireJS: sample</title> <!-- data-main attribut

    nilab
    nilab 2016/05/20
    妙な挙動をするなぁ(;´Д`) と思って調べてみたら、 RequireJS では define の引数で指定したコードは一度しか読み込まれないらしい。グローバルなオブジェクトで管理される。
  • [ヅ] Node.js: Promise で指定した関数がいつ実行されるのか (2016-05-09)

    資料を漁ってもよくわからないので、サンプルコードを書く。 $ cat p.js var f = function(resolv, reject){ console.log("hello"); resolv("goodbye"); }; console.log("f"); var p = new Promise(f); console.log("p"); p.then(function(result){ console.log(result); }); console.log("t"); 実行結果。Promise を new したらすぐに実行されてる。 $ node p.js f hello p t goodbye 実行された後でも、then メソッドで後の処理を指定できているのもわかる。then メソッドで指定した処理は非同期に実行されている。 Promise を new した時点で実行さ

    nilab
    nilab 2016/05/09
    資料を漁ってもよくわからないので、サンプルコードを書く。
  • ES6時代のNode.js

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。情報システム部の伊藤(@koh110)です。 社内システムの開発、運用を担当しています。 今回、担当しているシステムをNode.js LTS(v4.x)へバージョンアップしました。 それに伴い実施したES6対応の中から3つの事例を紹介したいと思います。 varを撲滅しよう arrow functionを使おう callbackを撲滅しよう varを撲滅しよう varをlet, constに置き換えます。基はconstに置き換えます。 メリットは以下の点で、コードの品質向上につながると思います。 プログラム中で変更不可である事を明示的に示せる。 誤った使い方をした時にバグとして検出される。 varを利用するとブロック

    ES6時代のNode.js
    nilab
    nilab 2016/05/09
    ES6時代のNode.js - Yahoo! JAPAN Tech Blog
  • ES6 チートシート | POSTD

    日々の仕事の中で役に立つES2015(ES6)のティップス、コツ、ベストプラクティス、プログラムの見をご紹介します。コントリビューション歓迎です! 目次 var vs. let / const IIFEからブロックベースへ アロー関数 文字列 デストラクチャリング モジュール パラメータ クラス シンボル マップ WeakMaps Promises ジェネレータ Async/Await var vs. let / const var の他に、値を格納する let と const という識別子が新たに追加されました。 var とは異なって、 let と const はクロージャのスコープ内で最初に記述されることはありません。 var の使用例です。 var snack = 'Meow Mix'; function getFood(food) { if (food) { var snack

    ES6 チートシート | POSTD
    nilab
    nilab 2016/02/11
    ES6 チートシート | プログラミング | POSTD
  • Spirit - The animation tool for the web

    Spirit Studio uses keyframes, just like other industry-standard animation tools. Simply change an element attribute, set a keyframe, rinse and repeat. It's that easy!

    Spirit - The animation tool for the web
    nilab
    nilab 2016/02/11
    Spirit "Easily animate objects on the web. For Designers & Developers." "SpiritJS is the animation-tool that will change the way you create animations for the web."