美文网首页
给对象添加属性

给对象添加属性

作者: 王家薪 | 来源:发表于2018-06-05 11:49 被阅读13次

方法1 :

let objc = {}; // objc必须初始化
objc.name = '王五花'

方法2 :

let objc = {
    age:10,
}

objc = {
    ...objc, // 遍历objc的所有属性
    name: '王五花',
}

// objc = {age:10,name:'王五花'}

扩展阅读

由于没有js的底子 学习RN遇到很多无法理解的问题
比如下面的这个代码

export default class Regist extends Component {
    constructor() {
        super();
        this.props.name = "王五花";
    }

    render() {
        
        return(
            <View style = {styles.view}/>
        );
    }
};

报错:
Unhandled JS Exception: TypeError: Cannot set property 'name' of undefined
最初对这个错误提示有一个错误的理解, 以为是因为 props 中没有 name 这个属性造成的, 所以我有了一个错误的解决方案:

export default class Regist extends Component {
    constructor() {
        super();
        this.props = {'name':'王五花'};
    }

    render() {
        
        return(
            <View style = {styles.view}/>
        );
    }
};

这样运行不报错了, 虽然看起来没有问题, 但是这么做相当于给 props 重新赋值了, 而不是增加一个 name 属性, 这样的后果就是父类的 props 属性被完全舍弃了.

事实上 this.props.name = "王五花"; 这句代码是没有问题的.

那为什么造成这个错误呢? 是因为 props 没有初始化, undefined 的不是 name 而是 props!

正确的做法

export default class Regist extends Component {
    // 之前以为初始化的时候 props 可以写也可以不写, 知道遇到这样的错误才理解为什么这样写, super 会初始化 props
    constructor(props) { 
        super(props);
        this.props.name = "王五花";
    }

    render() {
        
        return(
            <View style = {styles.view}/>
        );
    }
};

相关文章

  • Vue动态修改属性同步渲染到页面

    给对象添加属性,修改属性 删除对象属性

  • JS Tips

    遍历对象的所有属性 添加属性 给普通的 JS 对象添加属性: 但是对于 Mongodb 中的对象,不可直接添加属性...

  • 给对象添加属性

    方法1 : 方法2 : 扩展阅读 由于没有js的底子 学习RN遇到很多无法理解的问题比如下面的这个代码 报错:Un...

  • 041|JavaScript delete操作符

    通过前面的课程中我们已经知道在JavaScript中可以给对象添加属性。既然可以给对象添加属性,那是否能够给对象移...

  • Object.defineProperty 解析

    1.给 JavaScript 对象添加属性 在 JavaScript 中给对象添加属性,很平常的一件事情. 这没什...

  • react 对象动态添加属性 setState

    // js 对象动态添加 js对象动态添加 //总结,给对象动态添加变量属性的方法如下: //obj[变量]=变...

  • 对象的动态特性

    给对象动态添加属性 当一个对象需要某个属性的时候,可以用两种方式为其添加属性 注意:当要动态的为一个对象添加属性的...

  • Add CGFloat property to Category

    给扩展类添加CGFloat类型的属性 IOS中可以使用运行时动态给类添加属性,对象类型的属性添加方法大家都知道 但...

  • JS中 给json对象添加属性和json数组添加或追加元素

    js中 给json对象添加新的属性 比如现在有一个json对象为jsonObj,需要给这个对象添加新的属性newP...

  • Vue-Element之form表单重置

    正确写法 将完整的对象赋值给目标变量,而后再依据条件修改属性值先定义对象,后给对象添加属性会导致对象的属性读取不到...

网友评论

      本文标题:给对象添加属性

      本文链接:https://www.haomeiwen.com/subject/gqepsftx.html