10월 셋째 주 TWIL

윤슬기·2019년 10월 20일
0

TWIL

목록 보기
13/32
post-thumbnail

JavaScript

1. length 프로퍼티

Array 인스턴스의 length 속성은 배열의 길이를 반환한다.
String 인스턴스의 length 속성은 UTF-16 코드 유닛을 기준으로 문자열의 길이를 반환한다.
Function 인스턴스의 length 속성은 함수가 기대하는 인수의 수를 반환한다.

const array = [[1,2,3], 'hello', {a: 'hello'}, function(x, y){}];

const getLength = (val) => val.length ? val.length : undefined

const result = array.map(getLength);

console.log(result);
// [3, 5, undefined, 2]

2. if (...) { do something } 구문을 한 줄로 표현하기

const cat = {
  name: 'huchu',
  age: 8
}

// if(...) {do something}
const getAge1 = function(obj, key) {
  let number = 0;

  if (obj[key]) {
    number = obj[key];
  }

  return number;
}

// (...) && do something
const getAge2 = function(obj, key) {
  let number = 0;

  obj[key] && (number = obj[key]);

  return number;
}

console.log(getAge1(cat, 'age')); // 8
console.log(getAge2(cat, 'age')); // 8

3. Array.isArray와 array.length를 이용해서 인자를 검사하기

Array.isArray로 인자가 배열인가? 인자가 실재로 존재하는가? 를 판단한다.
array.length로 배열인 인자가 비었는지 여부를 판단한다.

const emptyArr = [];
const obj = {};
const noValue = undefined;

const isArray = function(item) {
  return Array.isArray(item) ? `Array` : `Not Array`;
}

const isEmpty = function(item) {
  return item.length ? `Not empty` : `Empty`;
}

console.log(isArray(emptyArr));
// 'Array'
console.log(isArray(obj));
// 'Not Array'
console.log(isArray(noValue));
// 'Not Array'

console.log(isEmpty(emptyArr));
// 'Empty'

4. default parameter를 그대로 이용하기 위해 undefined를 인자로 전달하기

const add = function (a = 1, b, c) {
  return a + b + c;
}

add(undefined, 2, 3);
// 6 
profile
👩🏻‍💻

0개의 댓글