Operator & Expression

in

Description

in μ—°μ‚°μžλŠ” λͺ…μ‹œλœ 속성이 객체에 μ‘΄μž¬ν•˜λ©΄ true λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

Syntax

속성 in 객체λͺ…
  • 속성
    • μ†μ„±μ˜ μ΄λ¦„μ΄λ‚˜ λ°°μ—΄μ˜ 인덱슀λ₯Ό λœ»ν•˜λŠ” λ¬Έμžμ—΄ λ˜λŠ” 수의 κ°’μž…λ‹ˆλ‹€.
  • 객체λͺ…
    • 객체의 λͺ…μΉ­

Example

var arrayObj = ['a', 'b', 'c'];

console.log(3 in arrayObj);    // false
console.log(0 in arrayObj);    // true

console.log('a' in arrayObj);    // false
console.log('length' in arrayObj);    // true
var color1 = new String('green');
console.log('length' in color1);    // true

var color2 = 'Red';
console.log('length' in color2);    // false
// color2 λŠ” String 객체가 μ•„λ‹ˆκΈ° λ•Œλ¬Έμ— 였λ₯˜λ₯Ό λ°œμƒν•¨

String μƒμ„±μžλ‘œ λ§Œλ“€μ–΄μ§„ λ¬Έμžμ—΄μ„ λͺ…μ‹œν•  수 μžˆμ§€λ§Œ λ¬Έμžμ—΄ λ¦¬ν„°λŸ΄μ€ λͺ…μ‹œν•  수 μ—†λ‹€

console.log('toString' in {});     // true

ν”„λ‘œν† νƒ€μž… 체인에 μ˜ν•˜μ—¬ μ ‘κ·Ό κ°€λŠ₯ν•œ 속성은 true λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

instanceof

Description

instanceof μ—°μ‚°μžλŠ” μƒμ„±μžμ˜ prototype 속성과 묢인 ν”„λ‘œν† νƒ€μž…μ„ 가진 μ˜€λΈŒμ νŠΈμΈμ§€ ν™•μΈν•©λ‹ˆλ‹€.

Syntax

object instanceof constructor
  • object
    • ν…ŒμŠ€νŠΈ λŒ€μƒμΈ 였브젝트
  • constructor
    • ν…ŒμŠ€νŠΈν•  ν•¨μˆ˜ (ν”„λ‘œν† νƒ€μž… 였브젝트)

Example

function C() {};

var obj = new C();

console.log(obj instanceof C);    // true
function Car(make, model, year) {
  this.make = make;
  this.model = model;
  this.year = year;
}
var auto = new Car('Honda', 'Accord', 1998);

console.log(auto instanceof Car);  // true

console.log(auto instanceof Object);  // true

typeof

Description

typeof μ—°μ‚°μžλŠ” ν”Όμ—°μ‚°μž νƒ€μž…μ„ κ°€λ₯΄ν‚€λŠ” λ¬Έμžμ—΄μ„ λ°˜ν™˜ν•©λ‹ˆλ‹€.

νƒ€μž… κ²°κ³Ό
Undefined "undefined"
Null "object"
String "string"
Number "number"
Array "object"
Boolean "boolean"
Function Object "function"
other Object "object"

Syntax

typeof ν”Όμ—°μ‚°μž

Example

console.log(typeof 100)                  // number
console.log(typeof '100')                // string
console.log(typeof 'abc')                // string
console.log(typeof [])                   // object
console.log(typeof undefined)            // number
console.log(typeof function foo() {})    // function

delete

Description

delete μ—°μ‚°μžλŠ” 였브젝트의 속성을 μ‚­μ œν•œλ‹€.

Syntax

delete object[.property]
  • object
    • 였브젝트의 이름 λ˜λŠ” 였브젝트의 ν‘œν˜„μ‹
  • property
    • μ‚­μ œν•˜κ³ μž ν•˜λŠ” 속성

Example

var Employee = {
    age: 28, 
    name: 'abc'
    designation: 'developer'
};

console.log(delete Employee.name);     // true
console.log(delete Employee.age);      // true

// ν•΄λ‹Ή ν”„λ‘œνΌν‹°κ°€ μ‘΄μž¬ν•˜μ§€ μ•Šμ•„ trueλ₯Ό λ¦¬ν„΄ν•©λ‹ˆλ‹€.
console.log(delete Employee.salary);   // true

`delete`μ—°μ‚°μžμ˜ μ‚¬μš©μ‹œ μœ μ˜μ‚¬ν•­.

  • μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” 속성을 μ‚­μ œν•˜λ €κ³  ν•˜λ©΄ 아무 μž‘μ—… 없이 trueλ₯Ό λ°˜ν™˜
  • μ˜€λΈŒμ νŠΈμ— ν”„λ‘œν† νƒ€μž… 체인과 같은 속성이 μžˆλ‹€λ©΄ delete둜 μ‚­μ œ 후에 ν”„λ‘œν† νƒ€μž… 체인 ν”„λ‘œνΌν‹° μ‚¬μš©κ°€λŠ₯
  • var둜 μ„ μ–Έλœ ν”„λ‘œνΌν‹°λŠ” μ‚­μ œ λΆˆκ°€