エンジニアのひよこ_level10

毎日更新してた人。たまに記事書きます。

例外を書いたらその後の処理を忘れないようにする【823日目】

動かないから分岐をしよう

x = y;

あ、yが空っぽの時があるな。

x = "";

if (y) {
    x = y;
}

よし、初期化もしたし、分岐もしたぞ。これで完璧?

ちゃんと初期化の値の処理書いた?

では、xが ""の時の処理どうするか考えたでしょうか。

もし、処理を考えてなかったら、後々気づかないところでバグが発生してるかも・・・?

空文字の時にどうするか、それともエラーか

この時、yが代入出来ないのは『異常事態』か『パターンの一つ』かで処理をちゃんと書きましょう。

例えば、『異常事態』なら、Exceptionを投げて例外処理を書いてアプリを落とすとか、
パターンの一つなら、それ用のフローを考えるか。

うっかり書き忘れると、予想外のところでバグが起こったりするので注意しようφ(・

【JavaScript】標準で動くと思っていた関数が動かなかった時【822日目】

JavaScriptで標準だと思ったら使えない関数?

普段だったら普通に使えてた関数が使えない、なんでだろう。
console.logとかが動かない。

ブラウザ上じゃないとか、特定のツール上で動いているとか。

スコープが違う

今動かしているJavaScriptが動いている場所が、windowオブジェクトとか、いつものオブジェクト上ではない可能性。

window.prototype.xxx

のように、明示的にオブジェクトを指定して実行をしてみよう。

【一週間振り返り】新しいことを始めた一週間【821日目】

新しい現場、幸い朝起きれてます!
どころか22時に寝て8時出社とかしてます。早寝早起き始めました。

スーツもアイロン掛けとか色々頑張ってます。
ただ、ネット大きすぎてシャツがしわくちゃになるのどうにかせねば……

1. 先週からの目標

  1. 運動なにかする

2. 目標に対して行ったアクション

  1. 腹筋ローラーちょこちょこ。
  2. バトルディスクやってみた。ただ、続かなさそうな予感?

3. 次のアクション

  1. 運動なにかする

4. 今週良かったこと(新規・挑戦系)

  1. バトルディスクやってみました。楽しい!

5. 今週良かったこと(平時・生活的なところ)

  1. 朝起きれてる!

6. もっとこうしたかったこと

今旅行先なんですが、たぶん生牡蠣が当たったか酒飲み過ぎでダウンしてます。

生牡蠣とお酒は今後は最終日と決めた……

7. 新しく気づいたこと

生牡蠣怖い……

8. その他

吐き気止め、解熱剤とかは今までお医者さんの処方箋でしか飲んだことなかったけど、効果めっちゃあるね……!

体調崩しやすい私、いろいろ常備してみると良さそう……?

9. 体重

旅行先なので不明ー

たこ焼きで舌をやけどしないための一手【820日目】

たこ焼きを焼いた

たこ焼きを焼きました。

外側カリカリ、中トロトロに出来ました。
渾身の出来だと喜びました。

湯気とか出てない、外側冷めてるのを確認して食べました。

……中が熱すぎる、やけどする。
なんてこった。外側をキレイに作ったために、保温してるじゃねぇか!

串で刺して確認

一度串で刺してみましょう。

……湯気がすごい勢いで出ましたね。そりゃ熱いわな。

ってことで刺して湯気が出なくなるまで待って食べました、美味しかったです!

みんなも、たこ焼き食べるときは気をつけようね!

新幹線の切符あるのにICカード使ったときの対応【819日目】

新幹線予約したらうっかり

新幹線の予約をすると、だいたいが東京駅、大阪府内など、周辺区域の移動もその切符が使えます。

なので、切符を通したら無料で乗れるんですが……

しまった、自宅の最寄駅から、新幹線乗る駅までICカードを使ってしまった。
乗り換えの場所来たけどどうしよう……

改札を一度通って支払いする必要があるのか。

切符を通してICカードも通す

駅員の方にお聞きしたところ、乗り換え口で新幹線の切符を通す、そしたらすぐにICカードも通しましょう。

すると無事精算できました。
(2020/01/10現在の東京駅での話なので、駅員さんに確認もしてみましょう)

一度無駄に支払いする必要があると思ってたので、ちゃんと確認して良かったです!

【JavaScript】(0, eval)("x + y")でグローバルスコープでJS実行【818日目】

グローバルスコープでJSを実行したい

別スコープ内で文字列でスクリプトを保持しているが、そのスクリプトはグローバルスコープで実行したい時。

例えば、外部からJSを取得して文字列で持った。
それには汎用的な関数を定義してあった。関数の再利用をしやすくしたいとか。

それを他で使うためにはグローバルスコープで実行して、定義してやりたい。

(0, eval)

(0, eval)("x + y")

これで、"x + y"というスクリプトがグローバルスコープで実行される。

funcなどの変数に、文字列としてスクリプトを用意すると、こんな感じになる

// funcにスクリプトを入れる

(0, eval)(func)

これで、グローバルスコープでfuncが実行される。

【JavaScript】プロパティとメソッドは同名で存在出来ない?【817日目】

同じ名前のプロパティとメソッド

var obj = {};
obj.param = "3";
obj.param = function () { return "func"; };

こんなふうに同じ名前でメソッドとプロパティを設定したら?

結果

obj.param(); // "func"
obj.param; // ƒ () { return "func"; }

こんなふうに、メソッドとして扱われます。

プロパティの一つに、メソッドがある

メソッドは、あくまでプロパティであり、それが関数であればメソッドと呼ばれていると捉えると良さそうですφ(・

メソッドの場合、 obj.param の戻り値が関数であり、 ()で関数を実行しただけと捉えるとイメージが付きやすそうですφ(・

【Windows】ツールなしで、コピーの履歴からペーストする方法【816日目】

コピーの履歴が欲しい

コピーアンドペースト、コピペというのはPCを使ってるとよく使うと思います。

たまに、コピーを間違えてしてしまって、過去のコピーをやり直したり、
さっきもコピペしたけど、またコピペしないといけない。などなど。

コピー履歴があったらなぁ・・・って思う時はよくあると思います。

そういうときは、今まではツールを入れるとかでしたが、なんと、今のWindows10は要らないです。

winキー+v

Windowsでブログを見てる方は、とりあえずwindowsキーとvキーを同時押ししましょう。
失敗する方は、windowsキーを長押しして、その後にvキーをそのまま押しましょう。

すると、コピーの履歴保存を有効にするか聞かれるので、有効にしましょう。
これ以降、コピーは保存されていきます。

あとは、色々コピーをして、貼り付け時にはwin+vキーを押しましょう。
履歴が出るので、クリックか十字キーで操作してEnterをしましょう。

これで過去の履歴からペーストが出来ます。

かなーーーり便利なので、皆さんも使ってみてください!