때때로 나는 이것을 본다
List list = [];
그때 list..add(color)
1 dot ( .
)과 2 dot ( ..
) 의 차이점은 무엇입니까?
답변
..
라고도 캐스케이드 표기 . 동일한 객체에서 여러 메소드를 호출하려는 경우 동일한 대상을 반복 할 수 없습니다.
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);
답변
다트의 캐스케이드 연산자입니다
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!'));