タグ

JavaScriptとFPに関するjsstudyのブックマーク (57)

  • ワイ「何で子コンポーネントに状態を持たせたらあかんの?」 - Qiita

    とある師走のWeb制作会社 社長「お〜い、やめ太郎くん」 ワイ「なんでっか」 社長「ちょっと作ってほしい画面があんねん」 社長「↑こんなんを作ってほしいねん」 ワイ「おお、SNSの設定画面とかによくあるやつでんな」 ワイ「簡単ですわ、任しといてください」 社長「おお、ありがとう」 社長「フレームワークはVue.jsで頼むわ」 社長「ほな、よろしく〜」 作り始めてみる ワイ「ええと、このトグルスイッチみたいなんはいくつ必要なんや」 ワイ「3つやな」 ワイ「ほな、このトグルスイッチはコンポーネントとして作っとこか」 ワイ「そしたら3回使い回せるからな」 ワイ「イメージとしては、ToggleSwitchっていう名前のコンポーネントを作って・・・」 <ul class="switch-list"> <li>通知 <ToggleSwitch /></li> <li>検索フィルター <ToggleSw

    ワイ「何で子コンポーネントに状態を持たせたらあかんの?」 - Qiita
    jsstudy
    jsstudy 2019/12/04
    ハスケル子「親コンポーネントのdataを変えたら子コンポーネントも自動で反応!」「ってできるのがVueのメリットなのに」「いちいち$refsで状態を変えて回ってたら、全然リアクティブじゃないですよね」
  • クロージャ - JavaScript | MDN

    function init() { var name = "Mozilla"; // name は、init が作成するローカル変数 function displayName() { // displayName() は内部に閉じた関数 console.log(name); // 親関数で宣言された変数を使用 } displayName(); } init(); init() 関数はローカル変数 name を作成し、それから関数 displayName() を定義しています。displayName() は init() の中で定義されている内部関数で、その関数体の内部でしか利用できません。displayName() 自体はローカル変数を持っていませんが、外側のスコープで宣言された変数にアクセスできるので、displayName() では親関数 init() で宣言された変数 name を

    クロージャ - JavaScript | MDN
    jsstudy
    jsstudy 2019/11/03
    クロージャは、関数とその関数が宣言されたレキシカル環境の組合せ。レキシカル → 変数のスコープはソースコード内の位置によって決定され、入れ子にされた関数は外側のスコープで宣言された変数にアクセスできる
  • 変数スコープ、クロージャ

    JavaScript は非常に関数指向な言語であり、これにより多くの自由があります。ある時点で作成した関数を別の変数にコピーしたり別の関数に引数として渡し、後でまったく別の場所から呼ぶことができます。 私たちはすでに関数がその外(“外側” の変数)にアクセスできることを知っています ですが、関数が作成されたあとで外側の変数を変更すると何が起きるでしょうか?関数は最新の値 or 古い値どちらを取得するのでしょうか? また、関数がパラメータとして渡され、別のコード部分から呼び出される場合、新しい場所での外側の変数にアクセスできるのでしょうか? これらのシナリオやより複雑なシナリオを理解するために、知識を広げていきましょう。 JavaScript では変数を宣言する方法が3通りあります: let, const(モダンな方法),とvar (過去の名残)です。 この記事では、例には let を使用し

    変数スコープ、クロージャ
    jsstudy
    jsstudy 2019/11/03
    クロージャ(closure) は外部変数を記憶し、それらにアクセスできる関数です。JavaScriptにおいては、すべての関数は自然にクロージャです(1つだけ例外があります。それについては "new Function" 構文 で説明します)。
  • JavaScript Primer - 迷わないための入門書

    関数とスコープ 定義された関数はそれぞれのスコープを持っています。スコープとは変数や関数の引数などを参照できる範囲を決めるものです。 JavaScriptでは、新しい関数を定義するとその関数にひもづけられた新しいスコープが作成されます。関数を定義するということは処理をまとめるというだけではなく、変数が有効な範囲を決める新しいスコープを作っていると言えます。 スコープの仕組みを理解することは関数をより深く理解することにつながります。なぜなら関数とスコープは密接な関係を持っているからです。 この章では関数とスコープの関係を中心に、スコープとはどのような働きをしていて、スコープ内では変数の名前から取得する値がどのように決まるかを見ていきます。 JavaScriptのスコープは、ES2015において直感的に理解しやすい仕組みが整備されました。 基的にはES2015以降の仕組みを理解していればコー

    JavaScript Primer - 迷わないための入門書
    jsstudy
    jsstudy 2019/11/03
    JSのクロージャー 最後にこの章ではクロージャーと呼ばれる関数とスコープに関わる性質について見ていきます。 クロージャーとは「外側のスコープにある変数への参照を保持できる」という関数がもつ性質のことです。
  • そろそろJavaScriptに採用されそうなOptional Chainingを今さら徹底解説 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? みなさん、Optional Chaining使ってますか? 私は先日出たTypeScript 3.7 Betaを小さいプロジェクトに導入して使ってみました。これはとても快適ですね。 例によって、Optional ChainingはECMAScriptに対するプロポーザルの一つです。つまり、もうすぐ入りそうなJavaScriptの新機能です。プロポーザルはたくさんの種類がありますが、その中でもOptional Chainingはその高い有用性からこれまで多くの注目を集めてきました。Optional Chainingは2019年6月のTC3

    そろそろJavaScriptに採用されそうなOptional Chainingを今さら徹底解説 - Qiita
    jsstudy
    jsstudy 2019/10/21
    Haskell Maybe型 アントニー・ホーア「null参照を発明したのは1965年のことだった。私は単にそれが容易だというだけで、無効な参照を含める誘惑に抵抗できなかった。過去40年間で10億ドル相当の苦痛と損害を引き起こした」
  • 副作用フックの利用法 – React

    この記事は古くなっており、今後更新されません。新しい React語ドキュメントである ja.react.dev をご利用ください。 以下の新しいドキュメントで最新の React の使い方がライブサンプル付きで学べます。 エフェクトを使って同期を行う エフェクトは必要ないかもしれない useEffect フック (hook) は React 16.8 で追加された新機能です。state などの React の機能を、クラスを書かずに使えるようになります。 副作用 (effect) フック により、関数コンポーネント内で副作用を実行することができるようになります: import React, { useState, useEffect } from 'react'; function Example() { const [count, setCount] = useState(0); /

    副作用フックの利用法 – React
    jsstudy
    jsstudy 2019/09/07
    React コンポーネントにおける副作用には 2 種類あります。クリーンアップコードを必要としない副作用と、必要とする副作用です。これらの違いについて詳しく見ていきましょう。
  • フック早わかり – React

    この記事は古くなっており、今後更新されません。新しい React語ドキュメントである ja.react.dev をご利用ください。 以下の新しいドキュメントでフックを用いた最新の React の使い方が学べます。 クイックスタート チュートリアル react: フック フック (hook) は React 16.8 で追加された新機能です。state などの React の機能を、クラスを書かずに使えるようになります。 フックには後方互換性があります。このページでは React 経験者向けにフックの概要を述べていきます。このページはかなり端折った概要となっています。困ったときには以下のような黄色のボックスを参照してください。 詳しくは React にフックを導入する動機については動機を参照してください。 ↑↑↑ それぞれの節の終わりに上のような黄色いボックスがあります。より詳しい説明

    フック早わかり – React
    jsstudy
    jsstudy 2019/09/07
    フックとは、関数コンポーネントにstateやライフサイクルといったReactの機能を“接続する(hook into)”ための関数です。フックはReactをクラスなしに使うための機能ですので、クラス内では機能しません。 フックのルール
  • フックの導入 – React

    この記事は古くなっており、今後更新されません。新しい React語ドキュメントである ja.react.dev をご利用ください。 以下の新しいドキュメントでフックを用いた最新の React の使い方が学べます。 クイックスタート チュートリアル react: フック フック (hook) は React 16.8 で追加された新機能です。state などの React の機能を、クラスを書かずに使えるようになります。 import React, { useState } from 'react'; function Example() { // Declare a new state variable, which we'll call "count" const [count, setCount] = useState(0); return ( <div> <p>You clic

    フックの導入 – React
    jsstudy
    jsstudy 2019/09/07
    フック (hook) は React 16.8 で追加された新機能です。state などの React の機能を、クラスを書かずに使えるようになります。この useState という関数が、これから説明する最初のフック (Hook) です。
  • 【forが嫌い!可読性を上げたい!】楽するために学ぶ配列の高階関数(map, filter, reduce等) - Qiita

    【forが嫌い!可読性を上げたい!】楽するために学ぶ配列の高階関数(map, filter, reduce等)JavaScriptリーダブルコード高階関数 複雑すぎるforの処理に悩まされたことはありませんか? プログラミング習いたての頃、forに悩まされた記憶はありませんか? また、業務で複雑すぎるfor文を見て、これくらい理解できないとやっていけないのか…と悩んだ記憶はありませんか? 実はそのfor…もっと読みやすい書き方が出来て、簡単に読めるとしたら楽じゃないですか? いやいや、単にもっと楽したくありませんか? 今回は個人的に「苦手なfor文」の書き換え(map, filter, reduce等)について、短くなるだけじゃないところを紹介したいと思います。 コードを読む事に神経をとがらせて疲弊したくない人には、オススメしています。(頭を使う労力が減ってると信じたい...) 記事につ

    【forが嫌い!可読性を上げたい!】楽するために学ぶ配列の高階関数(map, filter, reduce等) - Qiita
    jsstudy
    jsstudy 2019/08/30
    JS/AltJSを関数型で書きたいなら、Haskellも一度勉強してみれば良いかも。適切な教材を選べばHaskellの基礎は速習可能。例 http://walk.northcol.org/haskell/ https://github.com/kazu-yamamoto/recursion-drill/ その後、ElmやPureScriptを触ってみればOK?
  • Elmの歩き方2019

    Elm Meetup in Summer 2019

    Elmの歩き方2019
    jsstudy
    jsstudy 2019/08/30
    ReduxはElmアーキテクチャを参考にしてる。Elmのエコシステムで不足を感じてもその作法は一度見ておく価値がある?Haskell風に書きたいならPureScript+Reactという選択肢もある。Elmは教材が良いので速習可能 https://guide.elm-lang.jp/
  • Amazon.co.jp: 基礎からわかる Elm: 鳥居陽介: 本

    Amazon.co.jp: 基礎からわかる Elm: 鳥居陽介: 本
    jsstudy
    jsstudy 2019/08/29
    単行本(ソフトカバー): 224ページ 出版社: シーアンドアール研究所 発売日: 2019/2/27
  • JavaScriptとElmを比べてみた〜後編・Vue.jsとも比べてみた〜 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    JavaScriptとElmを比べてみた〜後編・Vue.jsとも比べてみた〜 - Qiita
    jsstudy
    jsstudy 2019/08/29
    Vue勉強しててもReact勉強してても副作用を起こさないようにとか、外部の状態に依存しない純粋な関数…つまり参照透過的な関数を書こうとか、色んなドキュメントに書いてある。そういう風にしか書けないElmやりゃあいい
  • JavaScriptとElmを比べてみた〜前編〜 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    JavaScriptとElmを比べてみた〜前編〜 - Qiita
    jsstudy
    jsstudy 2019/08/29
    分かりやすいElmの話 ハスケル子「気になるならElm Guide読んでみてください」→https://guide.elm-lang.jp/
  • @Yametaroのマイページ - Qiita

    posted articles:JavaScript:53%TypeScript:19%関数型プログラミング:14%ECMAScript:13%Elm:12%

    @Yametaroのマイページ - Qiita
    jsstudy
    jsstudy 2019/08/29
    面白いJavaScriptの話
  • Functional Works - Functional Programming Jargon

    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. Dismiss alert

    Functional Works - Functional Programming Jargon
  • GitHub - getify/Functional-Light-JS: Pragmatic, balanced FP in JavaScript. @FLJSBook on twitter.

    This book is a balanced, pragmatic look at FP in JavaScript. The first edition is now complete. Read here online for free, or: "Functional-Light JavaScript" explores the core principles of functional programming (FP) as they are applied to JavaScript. But what makes this book different is that we approach these principles without drowning in all the heavy terminology. We look at a subset of FP fou

    GitHub - getify/Functional-Light-JS: Pragmatic, balanced FP in JavaScript. @FLJSBook on twitter.
  • 関数型プログラミングを学んで見解を示す for javascript - Qiita

    関数型プログラミングを silver の bullet としてなりふり構わず振り回していましたが、 ちょっと真面目に学ぶ機会を設けてみました。 関数型プログラミング(Functional Programming)を学んだ参考書の紹介と 私の浅い見解についてまとめていきます。 参考書のご紹介 Functional-Light-JS 筆者曰く、筆者の数学的知識は一般レベル、Scheme/Clojure/Haskell は未経験。 そのため関数型来の意味や各用語の学術的な意味合い等は記載しておらず、 実用的なアプローチと共にお送りする文書とのこと。 いわゆるボトムアップ。 functional-programming-jargon こちらは打って変わって関数型に関する jargon についてまとめています。 1 番ありきでこちらを付加資料として読むと見識が深まるかと思います。 いわゆるトップダ

    関数型プログラミングを学んで見解を示す for javascript - Qiita
    jsstudy
    jsstudy 2019/08/17
    関数型プログラミング(Functional Programming)を学んだ参考書の紹介 Functional-Light-JS functional-programming-jargon
  • JavaScriptでラムダ計算の仕組みを学ぶ教材 - JavaScript勉強会

    関数型プログラミングの理解を深めるために、OCamlのを読んでいます。 プログラミングの基礎 (Computer Science Library) 作者: 浅井健一 出版社/メーカー: サイエンス社 発売日: 2007/03/01 メディア: 単行 購入: 17人 クリック: 409回 この商品を含むブログ (127件) を見る 「簡約」について調べていたら、分かりやすい説明の記事がありました。 tarao.hatenablog.com ラムダ計算は, 多くのプログラミング言語, とくに関数型言語の原形になっています. ラムダ計算について理解しておくことは, 多くのプログラミング言語の習得に役立つでしょう. ラムダ計算はチューリング完全で, 計算能力としてはふつうのプログラミング言語と同じです. ラムダ計算で計算を書く訓練をしておくことは, 任意の計算を関数のみを使って(他の制御構文を

    JavaScriptでラムダ計算の仕組みを学ぶ教材 - JavaScript勉強会
    jsstudy
    jsstudy 2019/08/03
    簡約(ラムダ計算の実行)の様子を確認できるツール LambdaJS
  • JavaScriptで読む「ラムダ計算基礎文法最速マスター」 - 貳佰伍拾陸夜日記

    以前書いた「ラムダ計算基礎文法最速マスター」(以下「最速マスター」)は, 予想以上に多くの人に興味を持ってもらえたようですが, 同時に難しくてわからなかったという人も多かったようです. 反響から察するに, 構文を見慣れていない(と錯覚してしまう)ことが理解の妨げになっていたように思います. ラムダ計算の構文は, 実際には全く特殊なものではありません. このことがよくわかるように, 「最速マスター」のラムダ計算の簡約の例をすべてJavaScriptの構文で書いてみました. ......という内容になるはずでしたが, 気がついたらラムダ計算のインタプリタをJavaScriptで実装していました! 実際に動かせるものは下記URLにあります. https://tarao.github.io/LambdaJS/#js 動作確認と既知の問題 Firefox 3.6 Google Chrome 4.1

    JavaScriptで読む「ラムダ計算基礎文法最速マスター」 - 貳佰伍拾陸夜日記
    jsstudy
    jsstudy 2019/08/03
    JavaScriptでラムダ計算の仕組みを理解するための教材
  • 関数型プログラミング in JavaScript - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    関数型プログラミング in JavaScript - Qiita
    jsstudy
    jsstudy 2019/06/01
    (なぜブクマされてるのか不明だけど需要があるのかも?)