# Old Way ``` export enum LoadingState { NOT_LOADED = 'Not loaded', LOADING = 'Loading', LOADED = 'Loaded', ERROR = 'Error', } ``` ## Usage ``` const initialLoadingState = LoadingState.NOT_LOADED; ``` ## After compilation ``` var LoadingState; (function (LoadingState) { LoadingState["NOT_LOADED"] = "Not loaded"; LoadingState["LOADING"] = "Loading"; LoadingState["LOADED"] = "Loaded"; LoadingState["ERROR"] = "Error"; })(LoadingState || (LoadingState = {})); ``` # Modern way ``` const LoadingState = { NOT_LOADED: 'Not loaded', LOADING: 'Loading', LOADED: 'Loaded', ERROR: 'Error', } as const; export type LoadingState = keyof typeof LoadingState; ``` # Conclusion - Before : 1.1 MB bundle - After : 880 KB bundle