strict warning: anonymous function does not always return a value:
これは return が怪しいときにでる警告なんだけど、結構微妙な挙動をする。
// 最初の return が何も値を返していないので、これは警告がでる。
function (a) {
if (!a) return;
return 1;
}// これは警告がでない
function (a) {
if (!a) return;
return;
}// もちろんでない。
function (a) {
if (!a) return null;
return 1;
}// これはとても残念ながら警告がでる
function (a) {
if (!a) return null;
return 1;
function foo () {
}
}↑ この形は割と使うのでちょっと困る。けど、次からは先頭に書こう……
// これはでない。
function (a) {
if (!a) return null;
return 1;
function foo () {
}
return 1;
}