== Why is this an issue?

In TypeScript, `any` is a type that is used when the type of a variable is unknown or could be of any type. It allows you to opt-out of type-checking and let the values pass through compile-time checks. In other words, it prevents the compiler from reporting type errors, which can lead to runtime errors.

On the other hand, `unknown` is a type-safe alternative to `any`. It forces you to perform certain checks before performing operations on variables of type `unknown`. This means you can't accidentally perform arbitrary operations on variables of type `unknown`, which helps prevent runtime errors.

It's generally recommended to avoid using `any` when possible, and instead use more specific types or generics for better type safety. If you want to maintain type safety, it's better to use `unknown` instead of `any`.

[source,javascript,diff-id=1,diff-type=noncompliant]
----
function logValue(value: any) { // Noncompliant: 'value' is not type-checked
  console.log(value);
}

logValue(123);
logValue('Hello');
----

You should use `unknown` instead of `any` and narrow it down with type guards.

[source,javascript,diff-id=1,diff-type=compliant]
----
function logValue(value: unknown) {
  if (typeof value === 'number') {
    console.log(value.toFixed(2));
  } else if (typeof value === 'string') {
    console.log(value.trim());
  }
}

logValue(123);
logValue('Hello');
----

== Resources
=== Documentation

* TypeScript Documentation - https://www.typescriptlang.org/docs/handbook/2/functions.html#unknown[`unknown`]
* TypeScript Documentation - https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#any[`any`]
* TypeScript Documentation - https://www.typescriptlang.org/docs/handbook/2/narrowing.html[Narrowing]

ifdef::env-github,rspecator-view[]

'''
== Implementation Specification
(visible only on this page)

=== Message

* Remove this use of "any" so that implicit typing will be used.
* Replace "any" with a specific type.


=== Highlighting

``++any++``


endif::env-github,rspecator-view[]
