js中null与空字符串""的区别讲解

如题所述

String str=null
这句话的意思就是定义一个字符串,变量str,字符串的内容为空值。
String str=“”
定义一个String类型的变量str,并为其赋值。
1、类型
null表示的是一个对象的值,而并不是一个字符串。例如声明一个对象的引用,String a = null ;
""表示的是一个空字符串,也就是说它的长度为0。例如声明一个字符串String str = "" ;
2、内存分配
String str = null ; 表示声明一个字符串对象的引用,但指向为null,也就是说还没有指向任何的内存空间;
String str = ""; 表示声明一个字符串类型的引用,其值为""空字符串,这个str引用指向的是空字符串的内存空间;
在java中变量和引用变量是存在栈中(stack),而对象(new产生的)都是存放在堆中(heap):console.log(typeof null) //object console.log(typeof "") //string
温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜