Bird
Raised Fist0
GraphQLquery~3 mins

Why Scalar types (String, Int, Float, Boolean, ID) in GraphQL? - Purpose & Use Cases

Choose your learning style10 modes available
The Big Idea

What if your data could always be perfectly understood and never cause errors?

The Scenario

Imagine you are collecting information about people manually on paper: names, ages, heights, if they are members, and unique ID numbers.

Trying to organize and understand this data without clear categories is confusing and slow.

The Problem

Writing down mixed data without clear types leads to mistakes like mixing numbers with words or forgetting if a value is true or false.

It becomes hard to check if the data is correct or to find specific information quickly.

The Solution

Scalar types like String, Int, Float, Boolean, and ID give each piece of data a clear label and format.

This helps computers understand and check data easily, making everything faster and more reliable.

Before vs After
✗ Before
name: John, age: twenty-five, member: yes, id: 123abc
✓ After
name: "John" (String), age: 25 (Int), member: true (Boolean), id: "123abc" (ID)
What It Enables

It enables precise data handling so applications can trust and use information correctly every time.

Real Life Example

When you sign up for a website, scalar types ensure your username is text, your age is a number, and your membership status is true or false, preventing errors.

Key Takeaways

Scalar types clearly define what kind of data each value is.

This prevents confusion and errors in data handling.

They make data reliable and easy to use in applications.

Practice

(1/5)
1. Which of the following is NOT a standard GraphQL scalar type?
easy
A. Boolean
B. String
C. Date
D. ID

Solution

  1. Step 1: Recall standard GraphQL scalar types

    The standard scalar types are String, Int, Float, Boolean, and ID.
  2. Step 2: Identify the non-standard type

    Date is not a built-in scalar type in GraphQL; it requires a custom scalar.
  3. Final Answer:

    Date -> Option C
  4. Quick Check:

    Standard scalars exclude Date [OK]
Hint: Remember only 5 built-in scalars: String, Int, Float, Boolean, ID [OK]
Common Mistakes:
  • Thinking Date is built-in
  • Confusing ID with Int
  • Assuming Boolean is custom
2. Which of the following is the correct way to declare a field of type ID in a GraphQL schema?
easy
A. userId: id
B. userId: Int
C. userId: String!
D. userId: ID!

Solution

  1. Step 1: Understand GraphQL type syntax

    Types are case-sensitive; ID must be uppercase and non-null indicated by !.
  2. Step 2: Check each option

    userId: ID! uses correct type 'ID!' with uppercase and non-null. Others are either lowercase or wrong type.
  3. Final Answer:

    userId: ID! -> Option D
  4. Quick Check:

    ID type is uppercase and non-null with ! [OK]
Hint: ID type is uppercase and ! means non-null [OK]
Common Mistakes:
  • Using lowercase 'id'
  • Confusing ID with String
  • Omitting ! for required fields
3. Given this GraphQL query result for a field declared as Float:
{ price: 19 }
What is the actual type of the returned value?
medium
A. Float
B. String
C. Integer
D. Boolean

Solution

  1. Step 1: Understand GraphQL Float type

    Float represents decimal numbers but can also return whole numbers as floats.
  2. Step 2: Analyze the value 19

    Even though 19 looks like an integer, GraphQL returns it as a Float type because the field is Float.
  3. Final Answer:

    Float -> Option A
  4. Quick Check:

    Float fields return numbers as floats, even whole numbers [OK]
Hint: Float fields always return float type, even if whole number [OK]
Common Mistakes:
  • Assuming 19 is Integer
  • Thinking Float must have decimal point
  • Confusing with String
4. Identify the error in this GraphQL schema snippet:
type Product {
  id: ID
  name: String!
  price: float
  inStock: Boolean
}
medium
A. 'Boolean' should be lowercase 'boolean'
B. 'float' should be 'Float' with uppercase F
C. 'ID' should be 'Id' with lowercase d
D. 'String!' should be 'String' without exclamation mark

Solution

  1. Step 1: Check scalar type capitalization

    GraphQL scalar types are case-sensitive; 'Float' must be capitalized.
  2. Step 2: Verify other types

    'Boolean' and 'ID' are correctly capitalized; 'String!' is valid for non-null.
  3. Final Answer:

    'float' should be 'Float' with uppercase F -> Option B
  4. Quick Check:

    Scalar types must be capitalized exactly [OK]
Hint: Scalar types always start with uppercase letter [OK]
Common Mistakes:
  • Using lowercase scalar types
  • Changing Boolean case
  • Removing ! from non-null
5. You want to store a unique identifier for users that is a string but should never be null. Which scalar type and modifier combination is best in GraphQL schema?
hard
A. ID!
B. String
C. Int!
D. Boolean!

Solution

  1. Step 1: Understand the purpose of ID scalar

    ID is designed for unique identifiers and is serialized as string.
  2. Step 2: Ensure non-null constraint

    Adding ! means the field cannot be null, which fits the requirement.
  3. Final Answer:

    ID! -> Option A
  4. Quick Check:

    Use ID! for unique, non-null string identifiers [OK]
Hint: Use ID! for unique, required string IDs [OK]
Common Mistakes:
  • Using String without !
  • Using Int for string IDs
  • Using Boolean for IDs
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard