如果test返回true则返回对象本身, 否则返回null
test
T? takeIf(bool Function(T it) test) => test.call(this) ? this : null;