compareFunction
: 정렬 순서를 정의하는 함수. 생략하면 배열은 각 요소를 문자열로 변환한다고 가정하고, 각 문자의 유니코드 코드 포인트 값에 따라 정렬한다.compareFunction
은 두 개의 인자를 가진다.
compareFunction(a, b)
의 반환값이 0보다 작은 경우: a를 b보다 낮은 인덱스로 정렬한다(= a가 먼저 온다).compareFunction(a, b)
의 반환값이 0인 경우: a와 b 서로에 대해 변경하지 않는다.compareFunction(a, b)
의 반환값이 0보다 큰 경우: b를 a보다 낮은 인덱스로 정렬한다(=b가 먼저 온다).str.startsWith(searchString[, position]);
searchString
: 탐색할 문자열position
: 탐색을 시작할 위치. 기본값은 0.true
, 없으면 false
를 반환var str = 'To be, or not to be, that is the question.';
console.log(str.startsWith('To be')); // true
console.log(str.startsWith('not to be')); // false
console.log(str.startsWith('not to be', 10)); // true
str.trim();
문자열의 양 끝의 공백을 제거한 새로운 문자열을 반환한다.
인수로 주어진 객체(object)의 키들을 배열 형태로 리턴한다.
const object1 = {
a: 'hi',
b: 123,
c: true
};
console.log(Object.keys(object1));
// Array ['a', 'b', 'c']
ES5에서는 객체가 아닌 것을 인수로 넣으면 TypeError
를 리턴한다.
그러나 ES2015 이상 부터는 객체가 아닌 인수도 객체처럼 취급한다.
// ES5
Object.keys('foo') // TypeError: 'foo' is not an object
// ES2015+
Object.keys('foo'); // ['0', '1', '2']
첫번째 매개변수로 전달한 값에 따라 true, false가 결정된다.
null
, false
, NaN
, undefined
, ""
)이면 초기값이 false로 지정된다.var x = Boolean(undefined); // 초기값: false
var y = Boolean("false"); // 초기값: true
HTML form
태그의 데이터를 동적으로 제어할 수 있는 기능.
.append(key, value)
: 키-값 형식으로 데이터 저장. 같은 키에 append
를 여러번 하면 값을 리스트로 저장한다..has(key)
: 해당 키가 있으면 true, 없으면 false 리턴.get(key)
: 해당 키의 값을 리턴. 값이 여러개인 경우 첫번째 값만 리턴.getAll(key)
: 해당 키의 모든 값을 리스트 형태로 리턴.delete(key)
: 해당 키와 값을 모두 삭제const formData = new FormData();
formData.append("name", "youjin");
formData.append("lang", ["kor", "eng"]);
formData.append("programming", "python");
formData.append("programming", "javascript");
formData.has("name"); //true
formData.has("time"); //false
formData.get("lang"); //['kor', 'eng']
formData.get("programming"); // python
formData.getAll("programming"); //['python', 'javascript']
formData.delete("lang");
formData.get("lang"); //null
formData.set("programming", "c++");
formData.getAll("programming"); // ['c++']
axios로 폼 데이터를 서버에 보낼 때
(aync () => {
try {
const formData = new formData();
formData.append('name', 'youjin');
formData.append('nickname', 'nittre');
const result = axios.post('https://www.blah.com/', formData);
console.log(result);
} catch(error) {
console.log(error);
}
})