zoukankan      html  css  js  c++  java
  • js数据类型

    类型清单

    类型判断

    • typeof运算符
    console.log(typeof(1.1)) // number 有效
    console.log(typeof('')) // string 有效
    console.log(typeof(true)) // boolean 有效
    console.log(typeof(Symbol())) // symbol 有效
    console.log(typeof(undefined)) // undefined 有效
    console.log(typeof(null)) // object 无效
    console.log(typeof(function(){})) // function 有效
    console.log(typeof([])) // object 无效
    
    • toString原型方法
    console.log(Object.prototype.toString.call(1)) // [object Number]
    console.log(Object.prototype.toString.call(''))   // [object String]
    console.log(Object.prototype.toString.call(true)) // [object Boolean]
    console.log(Object.prototype.toString.call(Symbol())) //[object Symbol]
    console.log(Object.prototype.toString.call(undefined)) // [object Undefined]
    console.log(Object.prototype.toString.call(null)) // [object Null]
    console.log(Object.prototype.toString.call(new Function())) // [object Function]
    console.log(Object.prototype.toString.call(new Date())) // [object Date]
    console.log(Object.prototype.toString.call([])) // [object Array]
    console.log(Object.prototype.toString.call(new RegExp())) // [object RegExp]
    console.log(Object.prototype.toString.call(new Error())) // [object Error]
    console.log(Object.prototype.toString.call(document)) // [object HTMLDocument]
    console.log(Object.prototype.toString.call(window)) //[object global] window 是全局对象 global 的引用
    

    类型转换

    两种方法:构造函数强制转换、原型方法转换

    转【数字】

    // 转【数字】
    console.log('【字符串】转【数字】', Number('123')) // 整型,构造函数法
    console.log('【字符串】转【数字】', Number.parseInt('123')) // 整型,Number原型方法转换,可缩写为parseInt('123')
    console.log('【字符串】转【数字】', Number('123.45')) // 浮点型,构造函数强制转换
    console.log('【字符串】转【数字】', parseFloat('123.45')) // 浮点型,原型方法转换
    console.log('【字符串】转【数字】', Number('123 45')) // NaN,不是数字
    console.log('【布尔】转【数字】', Number(false)) // 0
    console.log('【布尔】转【数字】', Number(true)) // 1
    console.log('【未定义】转【数字】', Number(undefined)) // NaN
    console.log('【空】转【数字】', Number(null)) // 0
    console.log('【对象】转【数字】', Number({})) // NaN
    console.log('【对象】转【数字】', Number({ id: '1' })) // NaN
    console.log('【数组】转【数字】', Number([])) // 0
    console.log('【数组】转【数字】', Number([12])) // 12
    console.log('【数组】转【数字】', Number([1, 2])) // NaN
    console.log('【函数】转【数字】', Number(function () { })) // NaN
    console.log('【日期】转【数字】', Number(new Date())) // 时间戳
    

    转【字符串】

    // 转【字符串】
    console.log('【数字】转【字符串】', String(123))
    console.log('【数字】转【字符串】', (123).toString())
    console.log('【数字】转【字符串】', String(123.45))
    console.log('【数字】转【字符串】', (123.45).toString())
    console.log('【布尔】转【字符串】', String(true))
    console.log('【布尔】转【字符串】', (false).toString())
    console.log('【未定义】转【字符串】', String(undefined)) // undefined
    // console.log('【未定义】转【字符串】', (undefined).toString()) // 报错
    console.log('【空】转【字符串】', String(null)) // null
    console.log('【对象】转【字符串】', String({})) // [object Object]
    console.log('【对象】转【字符串】', String({ id: '1' })) // [object Object],无效
    console.log('【对象】转【字符串】', JSON.stringify({ id: '1' })) // { id: '1' },有效
    console.log('【数组】转【字符串】', String([])) // 空字符串
    console.log('【数组】转【字符串】', String([1])) // 1
    console.log('【数组】转【字符串】', String([1, 2])) // 1,2
    console.log('【函数】转【字符串】', String(function () { return 'hello world' })) // function () { return 'hello world' }
    console.log('【日期】转【字符串】', String(new Date())) // Fri Aug 06 2021 16:45:00 GMT+0800 (中国标准时间)
    

    转【布尔】

    // 转【布尔】
    console.log('【数字】转【布尔】', Boolean(0)) // false
    console.log('【数字】转【布尔】', !!1) // true
    console.log('【字符串】转【布尔】', !!'') // false
    console.log('【字符串】转【布尔】', !!'string') // true
    console.log('【未定义】转【布尔】', !!undefined) // false
    console.log('【空】转【布尔】', !!null) // false
    console.log('【对象】转【布尔】', Boolean({})) // true,无效
    console.log('【数组】转【布尔】', !![]) // true,无效
    console.log('【函数】转【布尔】', !!(function (){})) // true,无效
    console.log('【日期】转【布尔】', !!(new Date())) // true
    


    • 创建时间: 2021.07.06.2_11.02
    • 更新时间: 2021.08.09.1_10.20
    • 当前版本: v1.0
    • 版权作者: 贝可考拉
    • 标签分类: #编程开发 #web #JavaScript #JS
    • 索引编号: 346
  • 相关阅读:
    Linux服务器下载与上传文件
    Java代码实现定时器
    windows elasticsearch使用ik分词器插件后启动报错java.security.AccessControlException: access denied ("java.io.FilePermission" "D:...........pluginsik-analyzerconfigIKAnalyzer.cfg.xml" "read")
    windows elasticsearch搭集群启动失败failed to send join request to master....
    Oracle使用命令行登录提示ERROR: ORA-01017: invalid username/password; logon denied
    nrm : 无法加载文件 C:UsersTANGAppDataRoaming pm rm.ps1,因为在此系统上禁止运行脚本。
    Go 语言环境安装
    Go语言简介
    http 请求头的Cookie中的 JSESSIONID 是什么?
    什么是锚点?锚点有什么作用?
  • 原文地址:https://www.cnblogs.com/koalamini/p/15737567.html
Copyright © 2011-2022 走看看