1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/openharmony-third_party_jerryscript

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
object-get-own-property-descriptor.js 2.8 КБ
Копировать Редактировать Исходные данные Просмотреть построчно История
mamingshuai Отправлено 4 лет назад 32c4f9c
// Copyright JS Foundation and other contributors, http://js.foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
var obj;
var desc;
obj = { bar: 42 };
desc = Object.getOwnPropertyDescriptor (obj, 'bar');
// desc is { configurable: true, enumerable: true, value: 42, writable: true }
assert (desc.value === 42);
assert (desc.configurable);
assert (desc.writable);
assert (desc.enumerable);
obj = { "foo": "bar" };
desc = Object.getOwnPropertyDescriptor (obj, 'foo');
assert (desc.value === "bar");
obj = {};
Object.defineProperty (obj, 'baz', { value: 8675309, writable: false, enumerable: false });
desc = Object.getOwnPropertyDescriptor (obj, 'baz');
// desc is { value: 8675309, writable: false, enumerable: false, configurable: false }
assert (desc.value === 8675309);
assert (!desc.configurable);
assert (!desc.writable);
assert (!desc.enumerable);
obj = { "0.00001": 1 };
desc = Object.getOwnPropertyDescriptor (obj, 1e-5);
assert ( desc.value === 1);
obj = { "123": 1 };
desc = Object.getOwnPropertyDescriptor (obj, 123);
assert (desc.value === 1);
obj = { "undefined": 1 };
var desc1 = Object.getOwnPropertyDescriptor (obj, undefined);
var desc2 = Object.getOwnPropertyDescriptor (obj, "undefined");
assert (desc1.value === 1 && desc2.value === 1);
obj = { "0": 1 };
desc = Object.getOwnPropertyDescriptor (obj, -0);
assert (desc.value === 1);
obj = { "Hellobj": 42 };
desc = Object.getOwnPropertyDescriptor (obj, new String ("Hellobj"));
assert (desc.value === 42);
obj = {};
desc = Object.getOwnPropertyDescriptor (obj, 'baz');
assert (desc === undefined);
obj = { get foo() { return obj.bar; }, set foo(a) { obj.bar = a; }, bar: 0 };
desc = Object.getOwnPropertyDescriptor(obj, 'foo');
// d is { configurable: true, enumerable: true, get: /*the getter function*/, set: /*the setter function*/ }
assert (typeof(desc.get) === 'function');
assert (typeof(desc.set) === 'function');
assert (desc.configurable);
assert (desc.enumerable);
assert (obj.foo === 0)
var array_desc = Object.getOwnPropertyDescriptor(Array, "prototype");
assert (array_desc.configurable === false);
assert (array_desc.writable === false);
assert (array_desc.enumerable === false);
var obj_undef;
try {
Object.getOwnPropertyDescriptor (obj_undef, "fail");
assert (false);
} catch (e) {
assert (e instanceof TypeError);
}

Комментарий ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://gitlife.ru/oschina-mirror/openharmony-third_party_jerryscript.git
git@gitlife.ru:oschina-mirror/openharmony-third_party_jerryscript.git
oschina-mirror
openharmony-third_party_jerryscript
openharmony-third_party_jerryscript
OpenHarmony-v5.0.2-Release