Programing

다트에서 이중 점 (.) 사용을 나열 하시겠습니까?

lottogame 2020. 11. 30. 07:40
반응형

다트에서 이중 점 (.) 사용을 나열 하시겠습니까?


때때로 나는 이것을 본다 List list = [];

그때 list..add(color)

1 점 ( .)과 2 점 ( ..) 의 차이점은 무엇입니까?


..캐스케이드 표기법 으로 알려져 있습니다 . 동일한 객체에 대해 여러 메서드를 호출하려는 경우 동일한 대상을 반복하지 않도록합니다.

List list = [];
list.add(color1);
list.add(color2);
list.add(color3);
list.add(color4);

// with cascade

List list = [];
list
  ..add(color1)
  ..add(color2)
  ..add(color3)
  ..add(color4);

Dart의 캐스케이드 연산자입니다.

var l1 = new List<int>()..add(0)..addAll([1, 2, 3]);

l1목록이되는 결과[0, 1, 2, 3]

var l1 = new List<int>().add(0).addAll([1, 2, 3]);

오류가 발생 .add(0)합니다.void

..(이전 예에서)는를 new List(), .(나중에) 식의 이전 부분에 대한 반환 값을 나타냅니다.

..API를 유창하게 사용할 수있는 this것과 같은 모든 종류의 메서드 로 반환 할 필요가 없도록 도입되었습니다 add().

.. 모든 클래스에 대해이를 즉시 제공합니다.


캐스케이드 (..)를 사용하면 동일한 개체에서 일련의 작업을 수행 할 수 있습니다. 자세한 내용은 문서 읽기

querySelector('#confirm') // Get an object.
  ..text = 'Confirm' // Use its members.
  ..classes.add('important')
  ..onClick.listen((e) => window.alert('Confirmed!'));

이전 예는 다음과 같습니다.

var button = querySelector('#confirm');
button.text = 'Confirm';
button.classes.add('important');
button.onClick.listen((e) => window.alert('Confirmed!'));

참고 URL : https://stackoverflow.com/questions/49447736/list-use-of-double-dot-in-dart

반응형