首页 > 其他分享 >TavaScript中的typeof

TavaScript中的typeof

时间:2024-03-12 18:22:17浏览次数:21  
标签:console string number let typeof 类型 TavaScript

在 JavaScript 中,typeof 是一个运算符,用于获取一个值的类型。它返回一个字符串,表示值的数据类型。typeof 主要用于检测基本数据类型,如number、string、boolean、undefined、object、function和es6新增symbol类型。

let x = 10;
console.log(typeof x); // 输出: "number"

let y = "Hello, JavaScript!";
console.log(typeof y); // 输出: "string"

let z = true;
console.log(typeof z); // 输出: "boolean"

let obj = { key: "value" };
console.log(typeof obj); // 输出: "object"

let func = function () { };
console.log(typeof func); // 输出: "function"

let mySymbol = Symbol();
console.log(typeof mySymbol); // 输出: "symbol"          

而在TypeScript中typeof的功能更加强大,不仅可以获取基本数据类型,还能获取对象属性的类型、函数的类型、以及实例的类型。

1: 获取基本类型的变量类型

let num = 42;
let numType: typeof num; // 类型是 number

let str = "Hello, TypeScript!";
let strType: typeof str; // 类型是 string

let bool = true;
let boolType: typeof bool; // 类型是 boolean

let undefinedValue = undefined;
let undefinedType: typeof undefinedValue; // 类型是 undefined

let nullValue = null;
let nullType: typeof nullValue; // 类型是 object

2: 获取对象的类型

typeof 在 TypeScript 中可以用于获取对象的类型,包括具有深层嵌套结构的对象。当你使用 typeof 对象时,它会递归地获取该对象的所有嵌套属性的类型。

const nestedObject = {
  name: "John",
  age: 30,
  address: {
    city: "New York",
    postalCode: "10001",
  },
};

type NestedObjectType = typeof nestedObject;

// NestedObjectType 的类型是
// { name: string; age: number; address: { city: string; postalCode: string; } }

3: 获取函数的类型

function add(a: number, b: number): number {
  return a + b;
}

let addFunctionType: typeof add; // 类型是 (a: number, b: number) => number

标签:console,string,number,let,typeof,类型,TavaScript
From: https://www.cnblogs.com/zimengxiyu/p/18068965

相关文章

  • instanceof和typeof的区别
    instanceof和typeof的区别1.typeof:可以用来确定一个变量的数据类型   2.instanceof:可以用来确定一个引用类型值的是什么类型的对象     typeof用以获取一个变量的类型,typeof一般只能返回如下几个结果:number,boolean,string,function,object,undefined。我们可以使用t......
  • OpenHarmony—仅允许在表达式中使用typeof运算符
    规则:arkts-no-type-query级别:错误ArkTS仅支持在表达式中使用typeof运算符,不允许使用typeof作为类型。TypeScriptletn1=42;lets1='foo';console.log(typeofn1);//'number'console.log(typeofs1);//'string'letn2:typeofn1lets2:typeofs1ArkTS......
  • js typeof
    typeof操作符最适合用来判断一个变量是否为原始类型。更确切地说,它是判断一个变量是否为字符串、数值、布尔值或undefined的最好方式。lets="Nicholas";letb=true;leti=22;letu;letn=null;leto=newObject();console.log(typeof......
  • 1835_GCC中C语言typeof的使用
    Grey全部学习内容汇总:GitHub-GreyZhang/c_basic:littlebitsofc.1835_GCC中C语言typeof的使用typeof是C语言中对数据类型的一种引用方法,目前看到的信息来看,并不是标准C中提供或者要求的内容。这个功能,其实是编译器提供的一种便捷的操作模式。而我看的资料中,这个功能在gcc中是......
  • keyof和typeof的区别,连起来用会怎么样
    keyof和typeof是TypeScript中的两个操作符,它们分别用于从类型中提取键和获取变量的类型。keyofT:用于获取类型T的所有键的联合类型。也就是说,keyofT将返回一个包含类型T中所有属性名的联合类型。typeofx:用于获取变量x的类型。它会返回变量x的类型,包括基本类......
  • typeof 主要用于检测基本数据类型,对于引用类型不大适用(因为所有引用类型的值都是 Obje
    下面哪些语句可以在JS里判断一个对象是否为String类型?AoStringObjectinstanceofStringBtypeofoStringObject=='string'CoStringObjectisStringD以上答案都不正确正确答案:AJS中值的类型分为原始值类型和对象类型。原始值类型包括number,string,boolean,nul......
  • typeof只能检测数据类型,而不能检测从数据类型中派生的其他类型,数组为object派生对象,所
    typeof[]返回值为objecttypeof只能检测数据类型,而不能检测从数据类型中派生的其他类型,数组为object派生对象,所以依然返回objecttypeof判断引用类型数据,除了function以外都会判断成为objectfunctionfn(){console.log(1);}conso......
  • typeof,instanceof
    typeof是用来判断数据类型的,包括以下7种:number、boolean、symbol、string、object、undefined、functioninstanceof检查左侧的对象是否是右侧构造函数的实例它会遍历整个原型链,即使原型链很深,只要在原型链上找到了指定的构造函数的原型,就会返回true。functionA(){}consta......
  • C# default 和 typeof
    查看类型的内部结构:typeof获取类型的默认值:defaultvartemp01=typeof(decimal);//查看类型的内部结构vartemp02=default(decimal);//获取类型的默认值 (341条消息)C#运算操作符_穿越虚空的博客-CSDN博客 ......
  • 【JS基础】instanceof 和 typeof
     instanceof 运算符用于检测构造函数的 prototype 属性是否出现在某个实例对象的原型链上。objectinstanceofconstructortypeof 运算符返回一个字符串,表示操作数的类型。typeofoperandconsole.log('--------------------instanceof-------------------')//t......