Vivasoft-logo

3.5 āύāĻžāϞ⧇āĻŦāĻ˛Â  āϟāĻžāχāĻĒ

				
					function fun(data: string){
    data.toLowerCase();
  }
  fun(null)
				
			

āϜāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āĻŸā§‡ āĻāχ āϕ⧋āĻĄāϟāĻž āϰāĻžāύ āĻ•āϰāϞ⧇ āĻ•āĻŋ āϕ⧋āύ⧋ āϧāϰāϪ⧇āϰ āĻāϰāϰ āĻĻ⧇āĻ–āĻžāĻŦ⧇? āϕ⧇āω āĻ•āĻŋ āĻŦāϞāϤ⧇ āĻĒāĻžāϰāĻŦ⧇āύ? āύāĻž, āϕ⧋āύ⧋ āĻāϰāϰ āĻĻ⧇āĻ–āĻžāĻŦ⧇ āύāĻžāĨ¤ āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻāĻ•ā§āϏ⧇āĻ•āĻŋāωāĻļāύ⧇āϰ āϏāĻŽā§Ÿā§‡ āĻ•ā§āĻ°ā§āϝāĻžāĻļ āĻ•āϰāĻŦ⧇āĨ¤ āĻ•āĻžāϰāĻŖ āύāĻžāϞ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡āϰ āωāĻĒāϰ āĻĢāĻžāĻ‚āĻļāύ āĻ•āϞ āĻ•āϰāĻž āϝāĻžā§Ÿ āύāĻžāĨ¤

āĻ•āĻŋāĻ¨ā§āϤ⧁ āϟāĻžāχāĻĒāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟāĨ¤ āϏ⧇ āϞāĻžāχāύāϟāĻž āĻĻ⧇āĻ–āĻž āĻŽāĻžāĻ¤ā§āϰ āĻāϰāϰ āĻĻ⧇āĻ–āĻžāĻŦ⧇āĨ¤

				
					Argument of type 'null' is not assignable to parameter of type 'string'.
				
			

āĻāĻ–āύ āĻāχ āĻāϰāϰāϟāĻž āϕ⧋āĻĨāĻž āĻĨ⧇āϕ⧇ āĻŦāĻž āϕ⧇āύ āφāϏāϛ⧇ āĻāĻŦāĻ‚ āĻāϟāĻžāϰ āĻĻāϰāĻ•āĻžāϰ āĻ•āĻŋ āφāĻŽāĻžāĻĻ⧇āϰ? āĻāĻ•āϟāĻž āĻāĻ•āϟāĻž āĻ•āϰ⧇ āωāĻ¤ā§āϤāϰ āĻĻ⧇āχ āφāĻĒāύāĻžāĻĻ⧇āϰ āĻĒā§āϰāĻļā§āύ⧇āϰ, āϚāϞ⧁āύāĨ¤

āϕ⧇āύ āφāϏāϛ⧇?

fun āĻĢāĻžāĻ‚āĻļāύ⧇ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāϟāĻžāϰ āĻšāĻŋāϏ⧇āĻŦ⧇ āĻāĻ•ā§āϏāĻĒ⧇āĻ•ā§āϟ āĻ•āϰāϛ⧇ string āϟāĻžāχāĻĒāĨ¤ āĻ•āĻŋāĻ¨ā§āϤ⧁ āφāĻŽāϰāĻž āĻĒāĻžāĻ āĻžāĻšā§āĻ›āĻŋ null , āϝāĻžāϰ āĻ•āĻžāϰāϪ⧇ āϟāĻžāχāĻĒ āĻŽāĻŋāϏāĻŽā§āϝāĻžāϚ āĻšāĻšā§āϛ⧇āĨ¤

āϕ⧋āĻĨāĻž āĻĨ⧇āϕ⧇ āφāϏāϛ⧇?  

tsconfig.json āĻ āĻ•āĻŽā§āĻĒāĻžāχāϞāĻžāϰ āĻ…āĻĒāϏāύ `“strictNullChecks”: true` āĻĨāĻžāĻ•āĻžāϰ āĻ•āĻžāϰāϪ⧇ āĻāχ āĻāϰāϰāϟāĻž āϧāϰāĻž āĻĒāϰ⧇āĨ¤ false āĻ•āϰ⧇ āĻĻāĻŋāϞ⧇ āĻāϰāϰāϟāĻž āĻĻ⧇āĻ–āĻžāĻŦ⧇ āύāĻžāĨ¤Â Â 

āϕ⧇āύ āĻĻāϰāĻ•āĻžāϰ? āϕ⧇āω āĻ•āĻŋ āĻŦā§‹āĻ•āĻžāϰ āĻŽāϤ⧋ null āϞāĻŋāϖ⧇ āĻĢāĻžāĻ‚āĻļāύ⧇ āĻĒāĻžāĻ āĻžāĻŦ⧇?

āĻĒāĻžāĻ āĻžāĻŦ⧇ āύāĻž āϏ⧇āϟāĻž āϏāĻ¤ā§āϝāĨ¤Â  āĻ•āĻŋāĻ¨ā§āϤ⧁ āφāĻŽāϰāĻž āϝāĻ–āύ āĻĄāĻžāϟāĻž api-āϤ⧇ āĻĒāĻžāĻ āĻžāχ, āϤāĻ–āύ āϕ⧋āύ⧋ āĻ•āĻžāϰāϪ⧇ āĻĄāĻžāϟāĻž null āĻĨāĻžāĻ•āϞ⧇? āĻŦāĻž āĻĄāĻžāϟāĻžāĻŦ⧇āϏ āĻĨ⧇āϕ⧇ āϕ⧋āύ⧋ āĻĄāĻžāϟāĻž āĻĢ⧇āϚ āĻ•āϰāĻžāϰ āϟāĻžāχāĻŽā§‡ āϰāĻŋāĻ•ā§‹ā§Ÿā§‡āĻ¸ā§āϟ āĻ āϕ⧋āύ⧋ āĻāĻžāĻŽā§‡āϞāĻž āĻ•āĻžāϰāϪ⧇ āĻĄāĻžāϟāĻž null āĻšāϞ⧇?

āϤāĻžāχ āϝ⧇āύ āĻāϰāĻ•āĻŽ āĻ…āύāĻžāĻ•āĻžāĻ™ā§āĻ–āĻŋāϤ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāϰ āϏāĻŽā§āĻ–ā§€āύ āĻšāϤ⧇ āύāĻž āĻšā§Ÿ āϤāĻžāχ nullable āϟāĻžāχāĻĒ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻšā§Ÿā§‡ āĻĨāĻžāϕ⧇āĨ¤ āĻŦ⧇āĻļāĻŋ āĻ•āĻ āĻŋāύ āĻŽāύ⧇ āĻšāĻšā§āϛ⧇? āϤāĻžāχāϞ⧇ āϚāϞ⧁āύ āĻāĻ•āϟāĻž āωāĻĻāĻšāĻžāϰāĻŖ āĻĻ⧇āϖ⧇ āĻĢ⧇āϞāĻŋāĨ¤

āφāϗ⧇ āĻĒā§āϰāĻĨāĻŽ āωāĻĻāĻžāĻšāϰāϪ⧇āϰ āϏāĻ˛ā§āϝ⧁āĻļāύ āĻĻāĻŋā§Ÿā§‡ āύ⧇āχāĨ¤

āφāĻĒāύāĻžāϰāĻž āϝāĻĻāĻŋ āĻĢāĻžāĻ‚āĻļāύ⧇āϰ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāϟāĻžāϰ⧇ nullable āϟāĻžāχāĻĒ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻŋ āϤāĻžāĻšāϞ⧇āχ āϏāĻŽāĻžāϧāĻžāύāĨ¤ āĻāĻŦāĻžāϰ null āĻĒāĻžāĻ āĻžāϞ⧇āĻ“ āϏ⧇āϟāĻž āφāĻŽāϰāĻž āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāϟāĻžāϰ⧇ āĻāĻ•āϏ⧇āĻĒā§āϟ āĻ•āϰāĻ›āĻŋ āĻāĻŦāĻ‚ āϏ⧇āχ āĻšāĻŋāϏ⧇āĻŦ⧇ āϚāĻžāχāϞ⧇ āφāĻŽāϰāĻž āϕ⧇āϏ āĻšā§āϝāĻžāĻ¨ā§āĻĄā§‡āϞ āĻ•āϰāϤ⧇ āĻĒāĻžāϰāĻŦā§‹āĨ¤

				
					function fun(data: string | null){
    //...
  }

				
			

āĻāĻŦāĻžāϰ āĻĻā§āĻŦāĻŋāĻ¤ā§€ā§Ÿ āωāĻĻāĻžāĻšāĻžāϰāĻŖ:

				
					 interface User {
    id: number;
    name: string;
    email: string;
  }
 
  function fetchUser(userId: number): Promise<User | null> {
    return new Promise((resolve, reject) => {
      setTimeout(() => {
        // successful API call
        const user: User = {
          id: userId,
          name: "Rakibul Islam",
          email: "RakibulIslam@gmail.com",
        };
 
        resolve(user);
      }, 2000);
    });
  }
 
  async function displayUser(userId: number): Promise<void> {
    const user = await fetchUser(userId);
 
    if (user !== null) {
      //updating state and display user Information
    } else {
     //loading state
    }
  }
 
  displayUser(123);

				
			

fetchUser āĻĢāĻžāĻ‚āĻļāύ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ user āĻāϰ id āϧāϰ⧇ āĻĄāĻžāϟāĻžāĻŦ⧇āϏ āĻĨ⧇āϕ⧇ āϤāĻĨā§āϝ āĻāύ⧇ āĻĻā§‡ā§Ÿ āĻĢā§āϰāĻ¨ā§āϟāĻāĻ¨ā§āĻĄāϕ⧇āĨ¤ āĻĢāĻžāĻ‚āĻļāύāϟāĻŋ  āĻāĻ•āϟāĻŋ promise āϰāĻŋāϟāĻžāĻ°ā§āύ āĻ•āϰ⧇ āϝāĻž āĻšāĻŦ⧇ User āĻ…āĻĨāĻŦāĻž null. āϝāĻĻāĻŋ āĻĄāĻžāϟāĻžāĻŦ⧇āϏ āĻĨ⧇āϕ⧇ āĻ āĻŋāĻ• āĻŽāϤ⧋ user-āĻāϰ āϤāĻĨā§āϝ āύāĻŋā§Ÿā§‡ āφāϏāϤ⧇ āĻĒāĻžāϰ⧇ āϤāĻžāĻšāϞ⧇ User āϰāĻŋāϟāĻžāĻ°ā§āύ āĻ•āϰāĻŦ⧇ āύāĻžāĻšāϞ⧇ null.  āϏ⧇āϟāĻžāϰ āωāĻĒāϰ āĻ­āĻŋāĻ¤ā§āϤāĻŋ āĻ•āϰ⧇ āφāĻŽāϰāĻž displayUser āĻĢāĻžāĻ‚āĻļāύ⧇āϰ āĻ­āĻŋāϤāϰ⧇ āϕ⧇āϏ āĻšā§āϝāĻžāĻ¨ā§āĻĄā§‡āϞ āĻ•āϰ⧇āĻ›āĻŋāĨ¤