---
title: "Comment by Aseru Kevin Ziyada on \"My 100 Days of Coding Challenge(Week 1 Summary): Exploring Dart\" | Hashnode"
description: "About the late modifier, I have understood the 1st user case, which is; \"it is used to declare non-nullable variable that will be initialized later in the code\""
url: "https://hashnode.com/posts/my-100-days-of-coding-challengeweek-1-summary-exploring-dart/665c92af15d0e3591c6b1692/comment/665dcf4328df735aa7f8dbc3"
---

[Discussion](https://hashnode.com/posts/my-100-days-of-coding-challengeweek-1-summary-exploring-dart/665c92af15d0e3591c6b1692)

Comment [My 100 Days of Coding Challenge(Week 1 Summary): Exploring Dart](https://hashnode.com/posts/my-100-days-of-coding-challengeweek-1-summary-exploring-dart/665c92af15d0e3591c6b1692)

[Aseru Kevin Ziyada](https://hashnode.com/@AseruKevinZiyada)

[Jun 3, 2024](https://hashnode.com/posts/my-100-days-of-coding-challengeweek-1-summary-exploring-dart/665c92af15d0e3591c6b1692/comment/665dcf4328df735aa7f8dbc3)

About the late modifier, I have understood the 1st user case, which is; "it is used to declare non-nullable variable that will be initialized later in the code" but I have failed to understand the 2nd user case which is "lazy initialization", I don't know if I will understand more about it when I reach class

[Ayiko Andrew](https://hashnode.com/@Ayikoandrew)

[Jun 3, 2024](https://hashnode.com/posts/my-100-days-of-coding-challengeweek-1-summary-exploring-dart/665c92af15d0e3591c6b1692/comment/665dcf4328df735aa7f8dbc3#reply-665dd89a55435552e53db4c8)

Late initialization occurs when you postpone the initialization of a variable because you don't need it immediately or because initializing it involves a computationally expensive function call. Hope you understand this. If not I need to write a simple code soon for you to understand it better.

[Aseru Kevin Ziyada](https://hashnode.com/@AseruKevinZiyada)

[Jun 3, 2024](https://hashnode.com/posts/my-100-days-of-coding-challengeweek-1-summary-exploring-dart/665c92af15d0e3591c6b1692/comment/665dcf4328df735aa7f8dbc3#reply-665ddcedb94312a8b6ffec48)

I understand it now though a simple code would also help... [Ayiko Andrew](https://hashnode.com/@Ayiko)

[Ayiko Andrew](https://hashnode.com/@Ayikoandrew)

[Jun 4, 2024](https://hashnode.com/posts/my-100-days-of-coding-challengeweek-1-summary-exploring-dart/665c92af15d0e3591c6b1692/comment/665dcf4328df735aa7f8dbc3#reply-665eb637b8f8404901ea34e9)

[Aseru Kevin Ziyada](https://hashnode.com/@AseruKevinZiyada) Hey Kevin I have a simple code for you.

void main(List arguments) { late bool isTrue = isEven(); print(isTrue); }

bool isEven(){ print(DateTime.now().minute); return DateTime.now().minute % 2 == 0; }

isTrue variable is used, the expensive isEven() method is called and vice versa.

hope this brings clarity.
