mh-two-thousand-and-two
2024-04-12 7fc6dbf547b8899d949b67cdec36b96a7d1701c7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
'use strict';
 
var KeyForSymbol = require('./KeyForSymbol');
var Type = require('./Type');
 
// https://262.ecma-international.org/14.0/#sec-canbeheldweakly
 
module.exports = function CanBeHeldWeakly(v) {
    if (Type(v) === 'Object') {
        return true; // step 1
    }
    if (typeof v === 'symbol' && typeof KeyForSymbol(v) === 'undefined') {
        return true; // step 2
    }
    return false; // step 3
};