MapMap对象保存键值对。任何值(对象或者原始值) 都可以作为一个键或一个值。构造函数Map可以接受一个数组作为参数。Map和Object的区别一个Object 的键只能是字符串或者 Symbols,但一个Map 的键可以是任意值。Map中的键值是有序的(FIFO 原则),而添加到对象中的键则不是。Map的键值对个数可以从 size 属性获取,而 Object 的键值对个数只能手动计算。Obje
1、ES5、ES6ES2015有什么区别?ES2015特指在2015年发布的新一代JS语言标准。ES6泛指下一代JS语言标准,包含ES2015、ES2016、ES2017、ES2018等。现阶段在大部分场景下,ES2015默认等同于ES6ES5泛指上一代语言标准。ES2015可以理解ES5和ES6的时间分界线。2、Babel是什么?有什么作用?Babel是一个ES6转码器,可以将ES6代码转
(1)Object.is() ES5比较两个值是否相等,只有两个运算符: 相等运算符(==),缺点:自动转换数据类型 严格相等运算符(===),缺点NaN不等于自身,+0等于-0ES6提出同值相等算法,用来解决这个问题--Object.is 用来比较两个值是否严格相等,它与===的行为一致,且+0不等于-0,NaN等于自身(2)Object.assign() 该方法用于对象的合并,将源对象的所有可
1、可选链操作符使用 ?. 来表示/* * 如果对象链上的引用是 null 或者 undefined 时, * 操作符则会按照短路计算的方式进行处理,返回 undefined。 * 函数不存在,也将会返回 undefined,不会抛异常。 */ let user = { name: 'xiaoming', ['haohao'
Array.isArray()通过instanceof判断通过对象构造函数的constructor判断通过Object.prototype.toString.call()判断通过对象原型链上的isPrototypeOf()判断最终方法 此处提供可供验证的数据类型 let a = [1,2,3,4,5,6]; let b = [ {name: '张飞', type: 'tank'}, {na
10.postion 有几种定位模式9.如何解决跨域问题,有哪些具体的方法8.http通信协议的三次握手和四次会话,7.https和http的区...
原创 2022-07-13 21:12:34
63阅读
ECMAScript6(简称ES6),是JavaScript的下一代标准,因为ES6是在2015年发布的,所以又称ECMAScript2015(ES6 === ECMAScript2015)目前不是所有的浏览器都完全兼容ES6,但很多程序猿已经开始使用ES6了,所以了解并逐步掌握ES6,甚至在你的项目中使用ES6,是非常有必要的,至少也要看得懂小伙伴写的ES6代码吧?在说ES6之前,我们先来了解
ES6 对象的遍历及键值对的遍历 for … in object.keys(obj) object.getOwnPropertyNames(obj) objecr.getOwnPropertySymbols(obj) Reflect.ownKeys(obj)
1. 判断数组的方法有哪些?(1)instanceof 操作符判断用法:arr instanceof Array(2) 对象构造函数的constructor判断用法:arr.constructor === Array(3) Array 原型链上的isPrototypeOf用法: Array.prototype.isPrototypeOf(arr)(4) Object.getPrototypeOf方
ES6的数组方法ES5定义了六个新的数组方法来遍历,映射,过滤,简化和搜宿舍数组1.forEach()forEach()方法从头至尾遍历数组,每个元素调用指定的函数,它有三个参数:数组元素、元素的索、数组本身var data = [1,2,3,4,5] var sum = 0 data.forEach(function(val){ sum += value }) sum //15 data.f
下面是一个检查对象是否空的代码片段。对于新的浏览器而言,你可以使用普通的 JS 和 ES6 的语法 Object.keys。但是,为了支持旧的浏览器,你可以安装 Lodash 和使用它的 isEmpty 方法。const empty = {}; /* ------------------------- 针对新浏览器的普通 JS ----------------------------*/ O
1.ES6判断对象是否空{} let obj = {} if(Object.keys(obj).length == 0){ console.log("对象是空的") }else{ // Object.keys(obj).length 可获取对象的长度 console.log("obj的长度:" + ...
转载 2021-09-10 10:27:00
917阅读
2评论
ES6Object新特性属性简洁表达法属性名表达式Object.is()判断两个对象是否严格相等Object.assign()对象的遍历方式方式一:for..in方式二:Object.keys()方式三:Object.getOwnPropertyNames()方式四:Reflect.ownKeys() 属性简洁表达法在ES6之前,对象的表示都是以键值对的形式:let name = 'hello
转载 2024-03-29 08:51:10
69阅读
js面试题一、判断 js 类型的方式1. typeof2. instanceof3. Object.prototype.toString.call()4. Array.isArray()二、ES5 和 ES6 分别几种方式声明变量三、闭包的概念?优缺点?优点:缺点:四、数组去重的方法1.ES6 的 Set2.reduce()3.filter()五、javascript 的垃圾回收机制讲一下一、判断
一.判断一个值是对象还是数组1. 通过es6的一个方法Array.isArray()判断Array.isArray(  ) 用于确定传递的值是否是一个数组,返回一个布尔值。let a = [1,2,3] Array.isArray(a); //true Array.isArray({}/null/function); //false这个方法只能判断出变量是否数组,并不能确定
转载 2024-02-26 22:00:15
50阅读
JS的弱类型机制导致判断变量类型是初级前端开发者面试时的必考题,一般我都会将其作为考察候选人第一题,然后基于此展开。在ES5中判断变量是否数组 在ES5中,我们至少有如下5种方式去判断一个值是否数组:var a = []; // 1.基于instanceof a instanceof Array; // 2.基于constructor a.constructor === Array;
转载 2024-06-26 08:47:21
101阅读
一:String1.新特性,模版字符串。解释: 在反引号(“`”,~号键)中,使用${}作为模版,完成拼接工作。举例:<script> var name ="张三"; var age =18; //使用拼接字符串方式 var str = "姓名:"+name+",年龄:"+age; //使用ES6方式 var str2 =`姓名:${name},年龄:${ag
转载 2024-03-31 22:07:12
38阅读
ECMAScript 总结简介ECMAScript中的变量无特定的类型,定义变量时只用var运算符 每行结尾的分号可有可无,但了保持良好的编程习惯,最好总是加入分号 注释与 Java、C 和 PHP 语言的注释相同 括号表示代码块 ECMAScript中的变量并不一定要初始化。 ECMAScript有5种原始类型(primitive type),即Undefined、Null、Boolean、N
判断运算符JavaScript在实际编程中,如果读取对象内部的某个属性,往往需要判断一下。需要判断属性的上层对象是否存在。比如,读取 dataList.userInfo.firstName这个属性,安全的写法是写成下面这样。let dataList={ userInfo:{ firstName:'' } } // 错误的写法;因为这dataList.userInfo这个值可能没有,会导致
js判断对象空已经有好几种方法了,但是个人觉得不是特别方便。比如:1、把对象通过 JSON.stringify 转为字符串,再判断字符串是否等于 " {} "2、for in循环,判断key是否存在3、jq的方法es6已经帮我们很好的解决了此类问题。es6针对对象增加了3个新方法(数组也有):(1)、Object.keys:返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历属性的键名(2
  • 1
  • 2
  • 3
  • 4
  • 5