Js中创建变量的五种方案(声明变量)
// JS中创建变量的5种方案
传统方案:
var // 声明一个变量
function // 声明一个函数
ES6方案:
let // 声明一个变量
const // 声明一个不能重新赋值的变量
模块方案:
import // import A from "xxx.js" 相当于定义了一个变量 A
一个变量赋值的过程
var n =12;
1、先创建一个值12
2、再声明一个变量n(declare)
3、让变量n和12关联在一起(指针指向的过程)也就是赋值的过程(defined定义)
Js种的9种数据类型
NaN 也是数字类型
// 基本数据类型(原始值类型):
number => NaN Infinity
string => '' "" ``
boolean
null
undefined
symbol (es6)
bigint (es6)
// 引用数据类型:
object
{} 普通对象
[] 数组对象
/^\d+$/ 正则对象
new date 日期对象
....
:::tips
注意:
number:
- NaN 也是个number类型,可以通过 typeof NaN来查看;
- NaN === NaN // false
- Infintiy 是无穷大;
string:
Symol:
- 基于Symbol 创建出来的是唯一值;
- console.log(Symbol(“AA”) === Symbol(“AA”)); // false :::
为什么会有 bigint 这个数据类型?
number有个最大安全边界,超过这个数再进行计算,就会不准确。
// 创建一个bigint数
BigInt(10) // 10n
BinInt(9007199254740991)// 9007199254740991n
typeof 9007199254740991n // bigint
知识点
为什么const声明的变量是常量/不可改变的是不准确的?⭐️
其实const声明的也叫变量,它的值是不能重新关联,重新赋值的,但是不代表值是不能改的。
// 例如:经常在React函数组件里写state
// 里面的counter就是经常变动的。
const [counter,setCounter] = useState(0);
:::tips 不可变的是:重新关联内存指向; :::
// example 1
const m = 13;
m = 14;
console.log(m); //error
// example 2
const arr = [10];
arr =[10,20];
console.log(arr); // error; const变量不能重新关联内存指向;
// example 3
const arr = [10];
arr[1] = 20;
console.log(arr); // [10,20]