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]
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
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'
const add = function (a = 1, b, c) {
return a + b + c;
}
add(undefined, 2, 3);
// 6