>  기사  >  웹 프론트엔드  >  Effect-TS의 옵션 게터 탐색

Effect-TS의 옵션 게터 탐색

王林
王林원래의
2024-07-18 00:37:32645검색

Exploring Option Getters in Effect-TS

Effect-TS는 존재할 수도 있고 존재하지 않을 수도 있는 값을 나타내는 옵션 유형을 처리하기 위한 강력한 도구 세트를 제공합니다. 이 기사에서는 라이브러리에서 제공하는 다양한 게터를 사용하여 옵션 내부의 값을 가져오는 다양한 방법을 살펴보겠습니다.

예 1: O.getOrElse 사용

O.getOrElse 함수를 사용하면 옵션이 None인 경우 기본값을 제공할 수 있습니다. 이는 대체 값을 항상 사용할 수 있도록 하려는 경우에 유용합니다.

import { Option as O, pipe } from 'effect';

function getters_ex01() {
  const some = O.some(1); // Create an Option containing the value 1
  const none = O.none(); // Create an Option representing no value

  console.log(pipe(some, O.getOrElse(() => 'none'))); // Output: 1 (since some contains 1)
  console.log(pipe(none, O.getOrElse(() => 'none'))); // Output: 'none' (since none is None)
}

예 2: O.getOrThrow 사용

O.getOrThrow 함수는 Option 내부의 값이 Some인 경우 해당 값을 반환하고, 그렇지 않으면 기본 오류를 발생시킵니다.

import { Option as O, pipe } from 'effect';

function getters_ex02() {
  const some = O.some(1); // Create an Option containing the value 1
  const none = O.none(); // Create an Option representing no value

  console.log(pipe(some, O.getOrThrow)); // Output: 1 (since some contains 1)

  try {
    console.log(pipe(none, O.getOrThrow)); // This will throw an error
  } catch (e) {
    console.log(e.message); // Output: getOrThrow called on a None
  }
}

예 3: O.getOrNull 사용

O.getOrNull 함수는 Option 내부의 값이 Some인 경우 해당 값을 반환하고, 그렇지 않으면 null을 반환합니다.

import { Option as O, pipe } from 'effect';

function getters_ex03() {
  const some = O.some(1); // Create an Option containing the value 1
  const none = O.none(); // Create an Option representing no value

  console.log(pipe(some, O.getOrNull)); // Output: 1 (since some contains 1)
  console.log(pipe(none, O.getOrNull)); // Output: null (since none is None)
}

예제 4: O.getOrUndef 사용

O.getOrUndefound 함수는 Option 내부의 값이 Some인 경우 해당 값을 반환하고, 그렇지 않으면 정의되지 않은 값을 반환합니다.

import { Option as O, pipe } from 'effect';

function getters_ex04() {
  const some = O.some(1); // Create an Option containing the value 1
  const none = O.none(); // Create an Option representing no value

  console.log(pipe(some, O.getOrUndefined)); // Output: 1 (since some contains 1)
  console.log(pipe(none, O.getOrUndefined)); // Output: undefined (since none is None)
}

예제 5: O.getOrThrowWith 사용

import { Option as O, pipe } from 'effect';

function getters_ex05() {
  const some = O.some(1); // Create an Option containing the value 1
  const none = O.none(); // Create an Option representing no value

  console.log(pipe(some, O.getOrThrowWith(() => new Error('Custom Error')))); // Output: 1 (since some contains 1)

  try {
    console.log(pipe(none, O.getOrThrowWith(() => new Error('Custom Error')))); // This will throw a custom error
  } catch (e) {
    console.log(e.message); // Output: Custom Error
  }
}

결론

이러한 다양한 getter를 사용하면 다양한 시나리오에서 Option 유형을 효과적으로 처리하여 Option이 Some인지 None인지에 관계없이 코드가 올바르게 작동하도록 할 수 있습니다. 이러한 유틸리티는 선택적 값으로 작업하는 명확하고 형식이 안전한 방법을 제공하여 null 검사와 관련된 일반적인 함정을 피하고 코드의 가독성과 유지 관리성을 향상시킵니다. 이러한 패턴을 채택하면

위 내용은 Effect-TS의 옵션 게터 탐색의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.