キノコが何か作るブログ

ゲーム・ドット絵・アプリなどを作ります

MENU

JavaScript

【JavaScript】レキシカルスコープとはなんぞや

こういうコードを書くと var hoge = 0; function func1(){ console.log(hoge); } function func2(){ var hoge = 100; var func2_1 = function(){ console.log(hoge); } func2_1(); } function func3(){ var hoge = 100; func1(); } func1(); func2(); func3(…

【JavaScript】ホイスティングとは何なのか

ホイスティング よくあるプログラミング言語だと、変数を使う前に変数を宣言しておかなければなりません。 しかし、JavaScriptでは「宣言はスコープの先頭で行われる」というルールがあります。そのため、スコープ内であればどこで宣言しても「is not undefi…

JavaScriptは基本的に非同期で動くものだと勘違いしてた話

JavaScriptって非同期じゃないの? 関数Aの中で関数Bを実行するプログラムを書いたとします。 function A(){ console.log('A Start'); B(); console.log('A finish'); } function B(){ console.log('B Start'); //なんか重たい処理 console.log('B finish');…

コールスタックってなに?【JavaScript】

たまにですが「Uncaught RangeError: Maximum call stack size exceeded」とエラーが出るときがあります。 コールスタックのサイズが最大値を超えたよ!と怒られているわけですが、そもそもコールスタックとはなんなのでしょうか。 コールスタックとは スタ…

【JavaScript】アロー関数を使ってみた

アロー関数を使ってみた アロー関数というのは => で関数を組むことが出来るという書き方です。 今までは、この書き方をするメリットがよくわからなかったので使っていませんでしたが、Promiseを使うときはこっちの書き方が良いという噂を耳にしたので、使っ…

音量調整で右往左往する

音量調整機能 音量調節機能を作ったらバグりました。 JavaScriptで実数の計算をするとこの様な誤差が生じるらしいです。C++でもPythonではなかったことなので、最初見た時は何これ?って感じでした。色々試した結果、このようにすれば誤差が出なくなりました…

JavaScriptのpush関数は、空いている末尾に追加する関数ではないということ

JavaScriptには、配列の末尾に要素を追加してくれるpush関数という便利なものがある。 だが、僕はこのpush関数を勘違いして使っていた。 僕は、空配列にpush関数を使ったら、先頭から順番に追加されて、配列が足りなくなったら要素を追加してくれる関数だと…

プライバシーポリシー