JavaScript具有7种原始数据类型:字符串,数字,布尔值,null,未定义,符号,bigint
我了解三种数据类型,字符串,数字,布尔值;我也知道bigint被引入是因为数量不够。为什么数字是简单的浮动数字的一个示例:
"Conectado\n'
以下是我的问题:
var a = 1.000000000000001;
var b = 1.0000000000000001;
console.log(Number.isInteger(a)) //false
console.log(Number.isInteger(b)) // true
返回似乎是一个对象。 undefined和null之间有什么区别?在c ++中有什么类似的东西?答案 0 :(得分:0)
基本上,在javascript中,我们有两类类型:基本体和对象(函数和数组也是对象。)。 按其值复制基元,按其引用复制对象。
c ++中的undefined和void不相同。 JavaScript也具有void运算符,javascript和c ++中的void运算符相同,但是将javascript属性与C ++进行比较是不合理的。 C ++ vs Java更合理。
空值和未定义之间的差异
1-
let name;
这是未定义的,我们声明了但没有返回任何值。如果未返回值,则函数返回未定义 我们还可以将其显式设置为undefined。
let name=null,
在需要清除变量值的情况下,我们使用null。
2-我们可以在JSON中使用null,但不能在JSON中使用undefined。
3-undefined是一种类型,而null是一个空对象。为什么null为对象,ECMA需要解决一些问题。这是javascript中的错误。
我们使用SYMBOLS将对象的属性或方法设为私有。因此,我们隐藏细节并仅显示要点。它在javascript中称为抽象。
如何实现:让我们创建一个具有“ radius”属性的简单类
class Circle {
constructor(radius) {
this.radius = radius;
}
}
符号本质上是唯一标识符。每次调用此函数时,我们都会获得一个唯一的标识符。但是,它不是构造函数。
Symbol()===Symbol() //will be false
实施:
const _radius=Symbol()
class Circle {
constructor(radius) {
this[_radius] = radius; //since property name starts with _, we use bracket notation
}
}
现在测试一下。创建一个Circle实例:
const c=new Circle;
console.log(Object.getOwnPropertyNames(c))// you will see a number on the console.