이제 막 1년이 넘어 2년차 프론트엔드 개발자가 되었다. 점점 더 궁금한 부분들이 많아 찾아보게되는데 대부분 일을 관리하는 개인 노션에 적다보니 아쉽다는 생각이 들어 블로그에도 적어보려 한다.
타입을 정의할 때 같은 string이더라도 어떻게 정의하는지 다르다.
a: types.maybeNull(types.optional(types.string, '')),
b: types.optional(types.maybeNull(types.string, '')),
c: types.maybeNull(types.string)
types.optional는 기본값을 어떻게 세팅하는지에 영향을 준다
javascript
const MyModel = types.model({
myProperty: types.maybeNull(types.optional(types.string), ''),
});
const MyModel = types.model({
myProperty: types.optional(types.maybeNull(types.string), ''),
});
const MyModel = types.model({
myProperty: types.maybeNull(types.string),
});
단순한 string타입이더라도 기본값이 null인지, ''인지, 둘다 가능한지 등에 따라 프론트엔드에서는 노출되는 기준에서 버그가 충분히 생길 수 있기 때문에 주의하자!