タグ

2019年1月3日のブックマーク (10件)

  • JavaScript の「実引数スコープ」は「ローカルスコープ」? 「仮引数スコープ」と同じ?

    結論から言うと、実引数の方はその実引数のスコープで、仮引数はその function 内でのローカルスコープとなります。 仮引数はあくまでもローカルスコープであり、グローバルスコープにはなりません。 Javascript では、function の引数に共有渡し(Call by sharing)で変数が渡されますが、その挙動が混乱を招いているものと思います。 例えば以下の様な場合、 var str = 'string'; var int = 12; function test(text, num) { // 渡した変数(実引数)は変更されない text = 'test'; num = 23; } test(str, int); console.log(str, int); // => 'string', 12 function内部で変数を書き換えたとしても、渡した変数(実引数)に影響を与えま

    JavaScript の「実引数スコープ」は「ローカルスコープ」? 「仮引数スコープ」と同じ?
    jsstudy
    jsstudy 2019/01/03
    JSの関数の仮引数のスコープ → "実引数の方はその実引数のスコープで、仮引数はその function 内でのローカルスコープとなります。仮引数はあくまでもローカルスコープであり、グローバルスコープにはなりません。"
  • 仮引数と実引数

    プログラミング用語に,仮引数(parameter)と実引数(argument)という言葉がある.それについて解説する. まず,引数(引き渡された数)とは,関数につけられた括弧内にある数値あるいは変数のことである.たとえば f(a, b) の a と b が引数である. 仮引数とは関数定義時に使用される引数のことである。 int f(int x, int y) { return x+y; } 実引数とはその関数を実際に使用するときに関数に引き渡される引数のことである. main() { int a = 5, b = 10; a = f(a, b); } C言語では,関数の実引数についての決まり事として,次の重要なことがある. 実引数が関数に引き渡されるとき,その実引数自身ではなく,実引数のコピーが引き渡される. すなわち,関数の側から見ると,引き渡されたのは関数の外にある実引数そのものではな

    jsstudy
    jsstudy 2019/01/03
    仮引数(parameter)と実引数(argument) 仮引数とは関数定義時に使用される引数のこと。function sum(x, y) { return x+y; }のx,y 実引数とはその関数を実際に使用するときに関数に引き渡される引数のこと。a=5; b=10; c = sum(a, b);のa,b
  • JavaScriptの行末セミコロンは省略すべきか

    目次 自動セミコロン挿入(Automatic Semilocon Insertion) Restricted Production ASIの害 セミコロンにまつわる論争 で、どっちがいいの? JavaScriptには、 自動セミコロン挿入 という機能があり、行末でセミコロンを省略しても、多くの場合文法的に問題ありません。 しかしながら、 JavaScript: The Good Parts などで指摘されているように、自動セミコロン挿入は有害な機能であるため、JavaScriptのステートメント末尾には必ずセミコロンを付与するというのがフロントエンドエンジニアの共通認識だと思っていました。1 ところが、 Bootstrap に含まれるJavaScriptコードを見てみると、基的にセミコロンが使用されていません。 調べてみると、どうも世の中にはJavaScriptのステートメント末尾にセミ

    JavaScriptの行末セミコロンは省略すべきか
    jsstudy
    jsstudy 2019/01/03
    JSの設計者であるBrendan Eichは、 自身のブログ で、ASIはあくまでセミコロンを誤って書き忘れた場合の訂正措置であり、普遍的に改行に意味を持たせるような使い方をすれば、トラブルに巻き込まれるだろうと言っています
  • 【JS学習マラソン】第7回 1.2.4 変数 - JavaScript勉強会

    JavaScript学習マラソンの第7回は、 「現代の JavaScript チュートリアル」パート1の2.4「変数」です。 変数 https://ja.javascript.info/variables を読んでみます。 変数 変数の特徴 letキーワード 変数の値の再代入 定数 定数の特徴 constキーワード 「var」キーワード まとめ 変数 コンピューターのプログラムは、 データ 処理 という2つの構成要素から成り立っています。 プログラムでデータを扱う仕組みとして、「変数」や「定数」があります。 変数 (プログラミング) - Wikipedia プログラミングにおいて、変数(へんすう、variable)とは、プログラムのソースコードにおいて、扱われるデータを一定期間記憶し必要なときに利用できるようにするために、データに固有の名前を与えたものである。 一人一人の人間が異なる名前に

    【JS学習マラソン】第7回 1.2.4 変数 - JavaScript勉強会
    jsstudy
    jsstudy 2019/01/03
    ES6(ES2015)の新しいJavaScript文法では、変数は「let」キーワードで作る。定数は「const」キーワードで作る。 ES5時代の古い「var」キーワードは使わないでOK
  • 【JS学習マラソン】第6回 1.2.3 モダンなモード, "use strict" - JavaScript勉強会

    JavaScript学習マラソンの第6回は、 「現代の JavaScript チュートリアル」パート1の2.3「モダンなモード, "use strict"」です。 モダンなモード, "use strict" https://ja.javascript.info/strict-mode を読んでみます。 Strict モード(厳格モード) JavaScriptには、「Strictモード」という仕組みが用意されています。 "use strict" ディレクティブは “最新” モードにエンジンを切り替え、いくつかの組み込みの機能の振る舞いを変更します。 JavaScriptの文法は、バージョンアップを重ねる度にちょっとずつ変わってます。 JavaScriptのコードを古い文法ではなく新しい文法で書く場合、JavaScriptのコードを解釈するコンパイラーに対して、「最新のバージョンでコードを解釈

    【JS学習マラソン】第6回 1.2.3 モダンなモード, "use strict" - JavaScript勉強会
    jsstudy
    jsstudy 2019/01/03
    Strictモード(厳格モード) 最新のJavaScript文法で解釈するように指示するディレクティブ モダンなブラウザーは全てStrictモードに対応している。 使うメリットはエラーをなくすこと。
  • 【JS学習マラソン】第5回 1.2.2 コード構造 - JavaScript勉強会

    JavaScript学習マラソンの第5回は、 「現代の JavaScript チュートリアル」パート1の2.2「コード構造」です。 コード構造 https://ja.javascript.info/structure を読んでみます。 文末の区切りはセミコロン「;」 JavaScriptの命令文は、区切りとして文末にセミコロン「;」を付けます。 セミコロンの省略 文末のセミコロンを省略しても、JavaScriptには「自動セミコロン挿入」という機能があって、省略された文末のセミコロンが自動的に補われて、プログラムは動作します。 https://tc39.github.io/ecma262/#sec-automatic-semicolon-insertion 自動セミコロン挿入の欠点 しかし、「自動セミコロン挿入」にも欠点があり、プログラマーが思っているのとは違う形でセミコロンが挿入されてし

    【JS学習マラソン】第5回 1.2.2 コード構造 - JavaScript勉強会
    jsstudy
    jsstudy 2019/01/03
    余計なトラブル防止のため、文末にはセミコロンを付ける派です。
  • 【JS学習マラソン】第4回 1.2.1 Hello, world! - JavaScript勉強会

    JavaScript学習マラソンの第4回は、 「現代の JavaScript チュートリアル」パート1の2.1「Hello, world!」です。 Hello, world! https://ja.javascript.info/hello-world を読んでみます。 <script>タグ チュートリアルでは、JavaScriptHTMLページに組み込んで使う方法で練習しています。 HTMLページにJavaScriptのプログラムを埋め込むには、<script>タグを使います。 <script>タグの使い方 www.htmq.com <script> - スクリプト - とほほのWWW入門 <script>タグでJavaScriptのプログラムを埋め込む方法は、2種類あります。 コードを直接書く方法 コードを書いた外部ファイルを読み込む方法 ちょっとした短いコードなら、(1)「直接書く

    【JS学習マラソン】第4回 1.2.1 Hello, world! - JavaScript勉強会
    jsstudy
    jsstudy 2019/01/03
    <script>タグの使い方 (1)直接書く、(2)外部ファイルを読み込む
  • 【JS学習マラソン】第3回 1.1.3 開発者コンソール - JavaScript勉強会

    JavaScript学習マラソンの第3回は、 「現代の JavaScript チュートリアル」パート1の1.3「開発者コンソール」です。 開発者コンソール https://ja.javascript.info/devtools を読んでみます。 ブラウザーについているデバッガー JavaScriptの学習で、Webブラウザーには「Google Chrome」を使ってみます。 Google Chrome - Wikipedia Google Chromeグーグル・クローム)は、HTMLレンダリングエンジンにBlinkを採用し、Googleが開発しているウェブブラウザである。 www.google.co.jp Chromeには、「デベロッパーツール」というデバッガーが付いています。 デバッガ - Wikipedia デバッガ(Debugger)とは、デバッグを支援するプログラムのこと。 対話

    【JS学習マラソン】第3回 1.1.3 開発者コンソール - JavaScript勉強会
    jsstudy
    jsstudy 2019/01/03
    F12を押す
  • 【JS学習マラソン】第2回 1.1.2 コードエディタ - JavaScript勉強会

    JavaScript学習マラソンの第2回は、 「現代の JavaScript チュートリアル」パート1の1.2「コードエディタ」です。 コードエディタ https://ja.javascript.info/code-editors を読んでみます。 IDE JavaScriptでプログラムを書くときに便利なIDEやエディターが、いろいろ紹介されていますね。 統合開発環境 - Wikipedia 統合開発環境(とうごうかいはつかんきょう)、IDE (Integrated Development Environment) は、ソフトウェアの開発環境。 統合開発環境を使うことによって、巨大かつ複雑なソフトウェアでも、作成者に負担をかけることなく開発することが可能になる。 Visual Studio Code 個人的には、今なら「Visual Studio Code」(無料)で良いかなと思います。

    【JS学習マラソン】第2回 1.1.2 コードエディタ - JavaScript勉強会
  • 【JS学習マラソン】第1回 1.1.1 Javascript 入門 - JavaScript勉強会

    JavaScript学習マラソンの第1回は、 「現代の JavaScript チュートリアル」パート1の1.1「Javascript 入門」です。 Javascript 入門 https://ja.javascript.info/intro を読んでみます。 JavaScriptの発祥 JavaScriptは、最初Webページにプログラムを組み込むためのプログラミング言語として開発されました。 今は他の用途も広がりましたが、やはり多いのはWebサイトでの使用ですかね。 JavaScript - Wikipedia 登場時期 1995年 設計者 ブレンダン・アイク 影響を受けた言語 C言語、JavaPerlPython、Scheme、Self JavaScriptの特徴 JavaScriptは、SchemeやSelfも参考にして作られたので、その特徴があります。 Schemeは、Lisp

    【JS学習マラソン】第1回 1.1.1 Javascript 入門 - JavaScript勉強会