- JS是如何分类的
按照不可修改与可修改(见问题5)分为原始值(见问题2)和对象(见问题3) - JS原始类型有哪些?
数值,字符串,布尔值,null,undefined,符号(6种) - JS对象类型?
对象,数组,函数等 - JS对象的定义?JS常用对象有哪些?
对象是属性的集合,每一个属性有一个名字和一个值。
常用对象有Set,Map,RegExp,Date,Error等。 - JS中字符串可修改吗?
原始类型都不可修改,对象类型是可修改的。
字符串不允许修改,任何看似修改字符串其实都是返回了一个新的字符串。
原始值是按照值比较的;对象(引用类型)是按照底层引用比较的。 - null和undefined区别?
运用typeof时null返回object,undefined返回undefined,undefined表示一种更深层次的不存在。变量的值没有初始化就是undefined。null表示正常的,意料之中的没有值,而undefined表示类似错误的,意料之外的没有值。 ==
与===
的区别?
===
是严格等于,原始值必须值完全相等,引用类型值必须底层引用相同
==
是先进行值类型转换再相比较,为了灵活判断相等的标准- let,const,var
let声明变量
const声明常量,属于程序中必须不改变的值
var 旧的变量声明方式
let和const声明的变量和常量具有块作用域。所以它们只在let和const语句所在代码块中有定义。JS类和函数的函数体是代码块,if/else语句的语句体、while和for循环的循环体都是代码块。如果变量或常量声明在一对花括号中,那这对花括号就限定了该变量或常量有定义的代码区域。
- 解构赋值
10.ES6新增语法