Java Script
[JAVA SCRIPT] JS문법 - 쉽지만 틀리는 문제 1
Hwan'ss
2019. 8. 29. 17:10
Q. 1번
// 문제1) 다음 코드의 출력 결과는 ?
const ar = [52,273,103,32];
ar.sort();
console.log(ar);
// 정답)
// [103, 273, 32, 52]
- sort()라는 것은 JS에서 기본적으로 제공되는 함수이다. 배열에 들어있는 내용들을 문자열(string)로 자동 변환 후, 그 문자들의 유니코드값의 크기에 따라 정렬해준다. 그렇기 때문에 다음과 같은 출력결과가 출력이 된다.
- 문자열의 정렬 조건을, ASCII 코드 값이 아닌, 다른 조건으로 바꾸고 싶다면, 조건 사항을 함수로 작성한 후, 그 함수를 "sort()"의 괄호() 안에 넣어줘야 한다.
Q. 2번
// 문제2) 다음 코드의 출력 결과는 ?
console.log(Math.ceil(3.14));
console.log(Math.ceil(-3.14));
// 정답)
// 4
// -3
- Math.ceil() : 소수점 이하를 올림하는 함수이다.
Q. 3번
-> for of에 대해 설명하세요.
정답)
- 배열의 크기(길이)만큼 for문을 반복하면서 각 요소의 값을 가져온다.
Q. 4번
-> duck typing 이란 무엇인지 설명하세요.
- 상속을 사용하지 않고 다형성을 사용하는 방법이다.
Q. 5번
// 문제5) 다음중 문법 또는 실행결과 가 잘못된 문장 모두를 고르세요.
1.
const a = 3 ** 2;
// **는 거듭제곱 연산자이다.
2.
let a = 10;
console.log( typeof a );
// (typeof)에서 ()를 생략하고 사용할 수 있다.
3.
let a = 3;
let b = 4;
b =+ a;
console.log(a, b);
// 실행 결과 : 3, 3
// 이건 좀 더 고민해보는걸로....
4.
const obj={
a:10,
f:()=>{
console.log(this.a);
}
}
obj.f()
// 실행 결과 : 10
// 정답) 4번
// 4. 정답 (다음과 같이 수정해야 한다.)
const obj={
a:10,
f:()=>{
console.log(obj.a);
}
}
obj.f(obj)
Q. 6번
// 문제6) 출력 결과를 작성하세요.
const obj = {};
const n=10;
const s='tiger';
obj['a'] = {n, s};
console.log(obj);
// 정답)
// { a: { n: 10, s: 'tiger' } }
- obj['a']는 obj에 a를 객체를 생성하는 방법 중 하나이다.
Q. 7번
// 문제7) 다음 코드의 출력 결과는 ?
console.log( 1e3 );
// 정답) 1000
- 1e3 이라고 하면 1뒤에 0을 3번 붙인다는 의미이다.
- 만약 2e5를 하게 되면 2 뒤에 0으 5번 붙여 200000이 된다.
Q. 8번
// 문제8) 다음 코드의 출력 결과는 ?
const a = 3;
const b = 3.14;
console.log( a + ~~b );
// 정답) 6
- ~~이 무엇을 하는 연산자 인지는 모르겠지만 ~~b의 값은 3이 된다.
Q. 9번
// 문제9) ES6에서 추가된 타입은 무엇입니까 ?
// 기존 타입 : object, number, string, boolean, function, undefined
// 추가 타입 : ?
// 정답) symbol
Q. 10번
// 문제10) 다음 코드의 출력 결과는 ?
const a = 10;
const b = +'20'; // << 주목할 부분
const c = a + b;
console.log( typeof(a), typeof(b), typeof(c));
console.log( c );
// 정답)
// number, number, number
// 30
2019.08.29(목)
JS문법 - 쉽지만 틀리는 문제