类型定义

对语言引擎和开发人员来说,类型是值的内部特征,它定义了值的行为,以使其区别于其他值。
换句机说,如果语言引擎和开发人员对42(数字)和“42”(字符串)采取不同的处理方
式,那就设明它们是不同的类型,一个是number,一个是string.通常我们对数字42进
扫数学运算,面对字符串“42”进行字符串操作,比如输出到页面。它们是不同的类型。

七种内置类型

空置(null) typeof(null)===’object’ 千古遗留问题
未定义(undefined) typeof(undefined)===’undefined’
数值(number) typeof(number)=’number’
字符串(string) typeof(string)===’string’
对象(obect) typeof(object)===’object’
符号(symbol) typeof(symbol)===’symbol’
另外
typeof([])===’object’
typeof(function(){})===’function’

机智判断一个对象是不是null
let n=null;
(!n && typeof(b)===’object’)===true n 是null

注意:undefined 和undeclared

  1. undefined 变量声明,未定义
    2. undeclared 变量未声明
    3. 使用已经声明没有赋值的变量,undefined,使用没有声明的变量,ReferenceError: b is not defined
    3. typeof 来判断undefined 和undeclcred,都返回同一个值’undefined’

数组,字符串,数字是一程序最基本的组成部分

数组:如果数组的键值能够被转换为十进制的数字的话,键值会被当做数组的索引来使用,同时数组的长度会被该改变,没有值的索引位置为undfined
let arr=[];
arr[‘13’]=1;
arr.length //14

类数组转换为数组的方法,
index.of,concat,foreach,Array.from