The Boolean, number, and string explanations are basic types, but the official note is that they are special reference types. As far as I can conclude, these three types are more special, either as basic types or as reference types. Why, see below. Because they can call the new new object. For example: String str =new string ("Hello");. This definition is sufficient to describe the nature of the reference type. Then use typeof (str) to determine that the returned data is object. And when using var str= "Hello"; With TypeOf, the Boolean, number, and string types are also returned, so it is possible to say that these three are basic types. The above two statements, in fact, are two different definition methods, in fact, two concepts, the previous one is a reference type of a Boolean object, Number object, string object declaration, a basic type of Boolean, number, String, It is important to understand these two differences, and it is recommended that you never use a Boolean object, a number object, or a String object declaration of the first reference type.
JavaScript reference type-basic wrapper type (deep understanding of the difference between basic wrapper type and base type)