var a = 10
var b = new Number(10)
console.log(a instanceof Number)
console.log(b instanceof Number)
누구든지 위의 두 선언과 a와 b의 정의가 다른지 알려 주시기 바랍니다.Var와 new의 차이점
var a = 10
var b = new Number(10)
console.log(a instanceof Number)
console.log(b instanceof Number)
누구든지 위의 두 선언과 a와 b의 정의가 다른지 알려 주시기 바랍니다.Var와 new의 차이점
첫 번째 선언은 원시 데이터 유형과 같습니다.
두 번째 선언에서 new Number(10)
을 사용한 곳은 object
에 숫자를 보존하는 래퍼 함수 또는 class
으로 간주됩니다.
console.log(typeof(a)) //should give you "number"
console.log(typeof(b)) //should give you "object"
var
키워드는 변수의 단순한 선언입니다. new
키워드는 새로운 유형의 object
을 생성하는 데 사용됩니다. 프로그래밍을 완전히 이해하려면 일반적으로 프로그래밍에서 객체를 조사해야합니다.
new Number(10)
으로 새 번호를 작성한다고 명시 적으로 나타내면 번호를 변수로 정의하는 대신 integer primitive value이 생성되는 반면에 숫자에는 wrapper object이 새로 작성됩니다. 자신의 typeof
을 검사 할 때 따라서, 당신은 결과를 다른 얻을 :이 도움이
var a = 10;
var b = new Number(10);
console.log(typeof a);
console.log(typeof b);
희망을! :)
아주 좋습니다. 그것은 숫자 원시적 인 가치를 만듭니다 ... 나머지는 생각됩니다. – Shadow
어쨌든, 내 부분에 대한 약간의 감시 : P 고정 :) –
설명을 위해 buddy에게 감사하지만 var = 10이라고 선언하면 변수에 대해 여러 개의 메소드가 있지만 생성자는 없습니다. 그래서 당신도 이것을 설명 할 수 있습니까? 자바 스크립트에는 정수 개념이 없으며 JavaScript 숫자는 항상 배정도 부동 소수점 숫자로 저장됩니다. –
첫 번째는 프리미티브를 만듭니다. 다른 대상.
숫자 개체에 대한 기본 사용
은 다음과 같습니다 인수가 숫자로 변환 할 수없는 경우 이1), 그것은이 NaN을 반환합니다.
2) 생성자가 아닌 컨텍스트 (즉, new 연산자 없음)에서 Number를 사용하여 유형 변환을 수행 할 수 있습니다.
은 이론적으로 차이 그러나 실제로 없음에있다. 자바 스크립트 엔진은 객체 일 필요가있을 때 자동으로 객체를 원시 객체로 묶습니다.
var number = 42;
// calling .toFixed will 'box' the primitive into a number object,
// run the method and then 'unbox' it back to a primitive
console.log(number.toFixed(2));
생성자 함수에서 프리미티브를 반환하려는 경우에만 사용할 수 있습니다.
function Foo() {
return 42;
}
var foo = new Foo();
console.log(foo); // foo is instance of Foo
function Bar() {
return new Number(42);
}
var bar = new Bar();
console.log(bar); // bar is instance of Number
그
new Number(10) == new Number(10) return false
어쩌면이 게시물을 설명 할 수 나게 [) (** 새 번호를 **] (https://stackoverflow.com/questions/2381399/what -is-the-difference-between-new-number-and-number-in-javascript) 나머지는'new Number()'를 이해 한 후에 이해할 수 있습니다. – NewToJS
[string 리터럴 및 JavaScript에서 문자열 개체?] (https : // stackoverflow.com/questions/17256182/what-is-the-the-difference-between-string-literalals-and-string-objects-in-javascript) – Chang
제목이 잘못되었지만 'a'와 'b'는 모두 'var'입니다 –