AngularJ: 상수
설명서에 따르면 상수와 값의 유일한 차이점은 앱 구성 단계에서 상수를 사용할 수 있는 반면 값은 실행 단계에서만 사용할 수 있다는 것입니다.
왜 이런 경우에 가치가 필요한지 궁금하네요.그들은 정말로 단지 제한된 상수들 아닌가요?
상수는 어디에나 주입할 수 있다.
상수는 장식자에 의해 가로채질 수 없습니다. 즉, 상수의 값은 절대 변경되지 않습니다.
var app = angular.module('app', []);
app.constant('PI', 3.14159265359);
app.config(function(PI){
var radius = 4;
//PI can be injected here in the config block
var perimeter = 2 * PI * radius;
});
app.controller('appCtrl', function(PI) {
var radius = 4;
// calculate area of the circle
var area = PI * radius * radius;
});
값은 Configuration에 삽입할 수 없지만 데코레이터에 의해 대행 수신될 수 있다는 점에서 상수와 다릅니다.
var app = angular.module('app', []);
app.value('greeting', 'Hello');
app.config(function ($provide) {
$provide.decorator('greeting', function ($delegate) {
return $delegate + ' World!';
});
});
값과 상수의 차이는 상수를 사용하여 지정된 값이 설정 단계에서 사용 가능하다는 것입니다.
값과 상수는 동일합니다.상수는 설정 단계부터 사용할 수 있지만 값은 사용할 수 없습니다.
또 다른 차이점은 이름이 상수 값을 변경할 수 없다는 것입니다.처음 할당한 값은 유지되는 값입니다. 나중에 다른 값을 할당하려고 하면 무시됩니다.
다음은 예를 제시하겠습니다.
mod.value("myValue", "First Assignment");
mod.value("myValue", "Second Assignment");
mod.constant("myConstant", "First Assignment");
mod.constant("myConstant", "Second Assignment");
mod.controller("MyController", function(myValue, myConstant) {
console.log("myValue: " + myValue);
console.log("myConstant: " + myConstant);
});
콘솔 출력:
myValue: Second Assignment
myConstant: First Assignment
그러나 개체를 상수로 사용하는 경우 해당 값은 언제 어디서나 재정의될 수 있습니다.예를들면
const version = '10.0'
변경할 수 없습니다.콘솔을 보면 값을 변경할 때 오류가 발생하기도 하지만
const config = {
'version': '8.6'
}
는 단순한 값과 같이 동작하며 오브젝트 값은 언제든지 다음과 같이 변경할 수 있습니다.
config.version = 5
타다, 이제 당신의 버전은5에 대해서도 마찬가지입니다.app.const('constant', 'its me')
언급URL : https://stackoverflow.com/questions/30327651/angularjs-constants-vs-values
'programing' 카테고리의 다른 글
| 루팅을 지원하는 AngularJS UI 부트스트랩 탭 (0) | 2023.03.25 |
|---|---|
| PHP에서 jQuery ajax 호출로 데이터를 반환하는 방법 (0) | 2023.03.25 |
| WordPress 사이트에서 Python 앱을 실행할 수 있습니까? (0) | 2023.03.20 |
| 발견되지 않은 오류: WP_Term 형식의 개체를 배열로 사용할 수 없습니다. (0) | 2023.03.20 |
| TypeScript에서 메서드 오버로드를 수행하는 방법 (0) | 2023.03.20 |