[javascript] Angular에서의 자바스크립트 데이터 저장 방법

Angular 애플리케이션을 개발하다보면 클라이언트 측에서 데이터를 임시로 저장해야 하는 경우가 종종 발생합니다. 이러한 경우 데이터를 메모리에 저장하거나 웹 브라우저의 로컬 스토리지에 저장하는 방법을 고려할 수 있습니다.

1. 메모리에 데이터 저장하기

Angular에서는 서비스를 사용하여 데이터를 메모리에 저장할 수 있습니다. 서비스는 애플리케이션 전역에서 공유되는 인스턴스로, 컴포넌트가 서비스를 사용하여 데이터를 저장하고 꺼내올 수 있습니다. 이는 Angular에서 매우 일반적인 방식입니다.

예를 들어, 다음은 데이터를 저장하고 반환하는 간단한 서비스의 예입니다.

@Injectable({
  providedIn: 'root'
})
export class DataService {
  private data: any;

  setData(newData: any) {
    this.data = newData;
  }

  getData() {
    return this.data;
  }
}

2. 로컬 스토리지 사용하기

클라이언트 측에서 영구적으로 데이터를 유지하고 싶을 때는 로컬 스토리지가 유용합니다. Angular에서는 localStorage 객체를 사용하여 로컬 스토리지에 데이터를 저장하고 검색할 수 있습니다.

예를 들어, 다음은 로컬 스토리지를 사용하여 데이터를 저장하고 반환하는 간단한 예제입니다.

export class LocalStorageService {
  setData(key: string, value: any) {
    localStorage.setItem(key, JSON.stringify(value));
  }

  getData(key: string) {
    const data = localStorage.getItem(key);
    return JSON.parse(data);
  }
}

결론

Angular 애플리케이션에서 데이터를 저장하는 방법에는 메모리에 데이터를 저장하거나 로컬 스토리지를 사용하는 방법이 있습니다. 어떤 방법을 선택할지는 상황에 따라 다르며, 각각의 장단점을 고려하여 결정해야 합니다.