js的两种数据类型:
基本类型:string,number,boolean,null,undefined -----> 操作和保存在变量的实际的值
引用类型:Function,Array,Object -----> 值保存在内存中,js不允许直接访问内存,在操作的时候,操作的是对象的引用
const的定义和基本用法可以参考阮一峰老师的ES6入门(传送门:http://es6.ruanyifeng.com/#docs/let)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>const常量不能更改和js的两种数据类型</title>
</head>
<body>
<script type="text/javascript">
// js的两种数据类型
/**
* 基本类型
* string,number,boolean,null,undefined
* 操作和保存在变量的实际的值
* */
/**
* 引用类型
* Function,Array,Object
* 值保存在内存中,js不允许直接访问内存,在操作的时候,操作的是对象的引用
* */
//基本类型
// 基本类型 String
const str = 'ab';
str = 'bc';
console.log(str);// Uncaught TypeError: Assignment to constant variable.
// 基本类型 Number
const num = 1;
num = 2;
console.log(num);// Uncaught TypeError: Assignment to constant variable。
// 基本类型 boolean
const bool = true;
bool = false;
console.log(bool);// Uncaught TypeError: Assignment to constant variable.
// 基本类型 boolean
const nul = null;
nul = 12;
console.log(nul);// Uncaught TypeError: Assignment to constant variable.
// 基本类型 boolean
const undefine = undefined;
undefine = 12;
console.log(undefine);// Uncaught TypeError: Assignment to constant variable.
//=================分割线===================
//引用类型
// 引用类型Object
const obj = {
a:1
}
obj.a = 2;// 修改a
obj.b = 3;// 增加b
console.log(obj.a);// 2
console.log(obj.b);// 3
// 引用类型Array
const arr = [1,2];
arr[0] = 3;// 修改arr[0]
arr[2] = 4;// 增加arr[2]
console.log(arr[0]);// 3
console.log(arr[2]);// 4
// 引用类型Function
function fun() {
this.a = 1;
this.b = 2;
}
const fun1 = new fun();
console.log(fun1.a);// 1
fun1.a = 3;// 修改a
console.log(fun1.a);// 3
fun1.c = 4;// 增加c
console.log(fun1.c);// 4
/**
*基本类型:操作和保存在变量的实际的值
*const不可修改声明的基本类型的值
**/
/**
*引用类型:保存在内存中,js不允许直接访问内存,在操作的时候,操作的是对象的引用
*const可以修改引用类型的引用
**/
// 基本类型:值不可变
// 引用类型: 地址不可变
</script>
</body>
</html>
以上全部亲测,若有异议或不对之处请各位老铁留言指正。