美文网首页前端
js内置运算符in

js内置运算符in

作者: avery1 | 来源:发表于2019-04-03 10:09 被阅读5次

语法

prop in object

prop

一个字符串类型或者 symbol 类型的属性名或者数组索引(非symbol类型将会强制转为字符串)。

objectName

检查它(或其原型链)是否包含具有指定名称的属性的对象。

下面的例子演示了一些 in 运算符的用法。

// 数组

        var trees = new Array("redwood", "bay", "cedar", "oak", "maple");

        0 in trees        // 返回true

        3 in trees        // 返回true

        6 in trees        // 返回false

        "bay" in trees    // 返回false (必须使用索引号,而不是数组元素的值)

        "length" in trees // 返回true (length是一个数组属性)

        Symbol.iterator in trees // 返回true (数组可迭代,只在ES2015+上有效)

        // 内置对象

        "PI" in Math          // 返回true

        // 自定义对象

        var mycar = {make: "Honda", model: "Accord", year: 1998};

        "make" in mycar  // 返回true

        "model" in mycar // 返回true

in右操作数必须是一个对象值。例如,你可以指定使用String构造函数创建的字符串,但不能指定字符串文字。

var color1 = new String("green");

  "length" in color1 // 返回true

  var color2 = "coral";

  "length" in color2 // 报错(color2不是对象)

如果你使用 delete 运算符删除了一个属性,则 in 运算符对所删除属性返回 false。

var mycar = {make: "Honda", model: "Accord", year: 1998};

delete mycar.make;

"make" in mycar;  // 返回false

var trees = new Array("redwood", "bay", "cedar", "oak", "maple");

delete trees[3];

3 in trees; // 返回false

如果你只是将一个属性的值赋值为undefined,而没有删除它,则 in 运算仍然会返回true。

        var mycar = {make: "Honda", model: "Accord", year: 1998};

        mycar.make = undefined;

        "make" in mycar;  // 返回true

        var trees = new Array("redwood", "bay", "cedar", "oak", "maple");

        trees[3] = undefined;

        3 in trees; // 返回true

如果一个属性是从原型链上继承来的,in 运算符也会返回true。

"toString" in {}; // 返回true

相关文章

  • js内置运算符in

    语法 propinobject prop 一个字符串类型或者 symbol 类型的属性名或者数组索引(非symbo...

  • GO运算符

    GO的内置运算符分为: 算数运算符:+ - * / %++ -- 关系运算符 : || && === !== > ...

  • JavaScript 02 (运算符和选择结构)

    js的关系运算符,js的逻辑运算符,js的赋值运算符,js的运算符的优先级问题,js的自增和自减,js的选择结构 ...

  • 运算符及js操作属性

    关系运算符 相等运算符 条件运算符 运算符的优先级 代码块 js操作属性 js操作style属性 js操作clas...

  • js运算符

    js基础语法:运算符,判断语句,数据类型,js对象 一、运算符 赋值运算符 =算数运算符 +-*/% ++...

  • js 中的 null

    null 代表空值,是JS七中内置类型的之一 特点一 使用typeof 运算符对 null 进行运算,得到返回不不...

  • 2020-03-16

    JavaScript 初识 《① JS 速览——进入 JS 的世界》[编号:js_01] 《② 运算符、运算符优先...

  • 2018-12-01

    赋值运算符 关系运算符 Unicode编码 相等运算符 条件运算符 运算符的优先级 代码块 js操作属性 js换肤...

  • JS操作属性、函数

    条件运算符 运算符的优先级 代码块 JS操作属性 JS换肤 JS操作style属性 JS操作

  • Go语言基础之运算符

    运算符 Go 语言内置的运算符有: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 算术运算符 运算符描...

网友评论

    本文标题:js内置运算符in

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