이 console.log는 무엇을 출력합니까?
4456 단어 javascript
더 나은 독서 경험을 위해 원래 사이트로 오십시오.
요즘 우리 팀의 기술 워크숍을 위해 작은 게임을 준비하고 있었습니다. JavaScript에 관한 몇 가지 기본적이고 까다로운 내용을 소개할 수 있는 좋은 기회라고 생각했습니다. 그래서 우리 팀원들에게 8가지 퀴즈를 냈습니다. 그리고 그들이 15분 안에 그것들을 풀 수 있기를 바랍니다. 결국, 모두 완료하는 데 20분 이상이 걸렸고 대부분 4-5개의 질문을 올바르게 풀 수 있었습니다.
간단한 테스트로 볼 수 있으며 각 퀴즈의 코드 끝에 답이 첨부되어 있습니다. 먼저 답변을 시도한 다음 답변을 살펴보십시오. 행운을 빕니다.
# 이 console.log는 무엇을 출력합니까?
# 1 -- Pavlov 박사에게는 개가 있습니다.
function Animal(){
this.type = "animal"
}
function Dog(){
this.name = "dog"
}
Dog.prototype = new Animal()
var PavlovPet = new Dog();
console.log(PavlovPet. __proto__ === Dog.prototype)
console.log(Dog.prototype. __proto__ === Animal.prototype)
1번에 대한 답변
프로토타입 체인에 대한 매우 기본적인 내용입니다.
// Output
true
true
# 2 -- "정렬"에 주의하세요
var arr = [5, 22, 14, 9];
console.log(arr.sort());
2번에 대한 답변
죄송합니다. [5, 9, 14, 22]가 아닙니다. 각 요소는 문자열로 변환된 후 UTF-16 값의 시퀀스를 비교합니다.
이것을 확인하십시오: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort
// Output
[14, 22, 5, 9]
# 3 -- 폐쇄 및 이벤트 루프
for (var i = 0; i < 3; i++) {
const log = () => {
console.log(i)
}
setTimeout(log, 100)
}
3번에 대한 답
setTimout이 해당log
함수를 다음 매크로 작업 대기열에 넣기 때문에 3을 세 번 출력합니다.
// Output
3
3
3
# 4 -- 들여쓰기가 있습니다.
function createNewArray(item) {
return
[item]
}
console.log(createNewArray(0))
4번에 대한 답
이로 인해 오류가 발생합니다. 구분선과 들여쓰기를 함께 사용하여 값을 반환할 수 없습니다.
Uncaught SyntaxError: Invalid or unexpected token
# 5 -- "숫자" 안에 있는 것
const length = 4
const numbers = []
for (var i = 0; i < length; i++);{
numbers.push(i + 1)
}
console.log(numbers)
5번에 대한 답변
이것은 한 쌍의 날카로운 눈이 필요합니다. 괄호와 중괄호 사이에 있는 세미콜론이 보이시나요?
// Output
[5]
# 6 -- 길이 없음
const clothes = ['shirt', 'socks', 'jacket', 'pants', 'hat']
clothes.length = 0
console.log(clothes[3])
3번에 대한 답변
이는 배열에서 모든 요소를 제거하는 것과 같습니다.
// Output
undefined
# 7 -- 변수가 미쳤다
var a = 1
function output () {
console.log(a)
var a = 2
console.log(a)
}
console.log(a)
output()
console.log(a)
7번에 대한 답
첫 번째 출력: 전역 사용var a
두 번째 출력: before 선언을 사용하는 function output()
의 첫 번째 출력은 정의되지 않아야 합니다.
세 번째 출력: 선언 후 출력합니다. 특별한 것은 없습니다.
네 번째 출력: var a
는 function output()
에 의해 변경되지 않았습니다.
// Output
1
undefined
2
1
# 8 -- 우발적인 선언이 있습니다.
function foo() {
let a = b = 0
a++
return a
}
foo()
console.log(typeof a)
console.log(typeof b)
3번에 대한 답변
let a
는 지역 변수입니다. typeof a
가 선언되지 않은 변수를 확인하고 있습니다.
b
는 function foo()
에서 값이 할당되는 전역 변수입니다.
// Output
undefined
number
# 결국
읽어주셔서 정말 감사합니다! 모두 맞췄나요?
Reference
이 문제에 관하여(이 console.log는 무엇을 출력합니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/pitayan/what-do-these-consolelog-print-out-52i5
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
// Output
true
true
var arr = [5, 22, 14, 9];
console.log(arr.sort());
죄송합니다. [5, 9, 14, 22]가 아닙니다. 각 요소는 문자열로 변환된 후 UTF-16 값의 시퀀스를 비교합니다.
이것을 확인하십시오: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort
// Output
[14, 22, 5, 9]
# 3 -- 폐쇄 및 이벤트 루프
for (var i = 0; i < 3; i++) {
const log = () => {
console.log(i)
}
setTimeout(log, 100)
}
3번에 대한 답
setTimout이 해당log
함수를 다음 매크로 작업 대기열에 넣기 때문에 3을 세 번 출력합니다.
// Output
3
3
3
# 4 -- 들여쓰기가 있습니다.
function createNewArray(item) {
return
[item]
}
console.log(createNewArray(0))
4번에 대한 답
이로 인해 오류가 발생합니다. 구분선과 들여쓰기를 함께 사용하여 값을 반환할 수 없습니다.
Uncaught SyntaxError: Invalid or unexpected token
# 5 -- "숫자" 안에 있는 것
const length = 4
const numbers = []
for (var i = 0; i < length; i++);{
numbers.push(i + 1)
}
console.log(numbers)
5번에 대한 답변
이것은 한 쌍의 날카로운 눈이 필요합니다. 괄호와 중괄호 사이에 있는 세미콜론이 보이시나요?
// Output
[5]
# 6 -- 길이 없음
const clothes = ['shirt', 'socks', 'jacket', 'pants', 'hat']
clothes.length = 0
console.log(clothes[3])
3번에 대한 답변
이는 배열에서 모든 요소를 제거하는 것과 같습니다.
// Output
undefined
# 7 -- 변수가 미쳤다
var a = 1
function output () {
console.log(a)
var a = 2
console.log(a)
}
console.log(a)
output()
console.log(a)
7번에 대한 답
첫 번째 출력: 전역 사용var a
두 번째 출력: before 선언을 사용하는 function output()
의 첫 번째 출력은 정의되지 않아야 합니다.
세 번째 출력: 선언 후 출력합니다. 특별한 것은 없습니다.
네 번째 출력: var a
는 function output()
에 의해 변경되지 않았습니다.
// Output
1
undefined
2
1
# 8 -- 우발적인 선언이 있습니다.
function foo() {
let a = b = 0
a++
return a
}
foo()
console.log(typeof a)
console.log(typeof b)
3번에 대한 답변
let a
는 지역 변수입니다. typeof a
가 선언되지 않은 변수를 확인하고 있습니다.
b
는 function foo()
에서 값이 할당되는 전역 변수입니다.
// Output
undefined
number
# 결국
읽어주셔서 정말 감사합니다! 모두 맞췄나요?
Reference
이 문제에 관하여(이 console.log는 무엇을 출력합니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/pitayan/what-do-these-consolelog-print-out-52i5
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
// Output
3
3
3
function createNewArray(item) {
return
[item]
}
console.log(createNewArray(0))
이로 인해 오류가 발생합니다. 구분선과 들여쓰기를 함께 사용하여 값을 반환할 수 없습니다.
Uncaught SyntaxError: Invalid or unexpected token
# 5 -- "숫자" 안에 있는 것
const length = 4
const numbers = []
for (var i = 0; i < length; i++);{
numbers.push(i + 1)
}
console.log(numbers)
5번에 대한 답변
이것은 한 쌍의 날카로운 눈이 필요합니다. 괄호와 중괄호 사이에 있는 세미콜론이 보이시나요?
// Output
[5]
# 6 -- 길이 없음
const clothes = ['shirt', 'socks', 'jacket', 'pants', 'hat']
clothes.length = 0
console.log(clothes[3])
3번에 대한 답변
이는 배열에서 모든 요소를 제거하는 것과 같습니다.
// Output
undefined
# 7 -- 변수가 미쳤다
var a = 1
function output () {
console.log(a)
var a = 2
console.log(a)
}
console.log(a)
output()
console.log(a)
7번에 대한 답
첫 번째 출력: 전역 사용var a
두 번째 출력: before 선언을 사용하는 function output()
의 첫 번째 출력은 정의되지 않아야 합니다.
세 번째 출력: 선언 후 출력합니다. 특별한 것은 없습니다.
네 번째 출력: var a
는 function output()
에 의해 변경되지 않았습니다.
// Output
1
undefined
2
1
# 8 -- 우발적인 선언이 있습니다.
function foo() {
let a = b = 0
a++
return a
}
foo()
console.log(typeof a)
console.log(typeof b)
3번에 대한 답변
let a
는 지역 변수입니다. typeof a
가 선언되지 않은 변수를 확인하고 있습니다.
b
는 function foo()
에서 값이 할당되는 전역 변수입니다.
// Output
undefined
number
# 결국
읽어주셔서 정말 감사합니다! 모두 맞췄나요?
Reference
이 문제에 관하여(이 console.log는 무엇을 출력합니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/pitayan/what-do-these-consolelog-print-out-52i5
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
// Output
[5]
const clothes = ['shirt', 'socks', 'jacket', 'pants', 'hat']
clothes.length = 0
console.log(clothes[3])
이는 배열에서 모든 요소를 제거하는 것과 같습니다.
// Output
undefined
# 7 -- 변수가 미쳤다
var a = 1
function output () {
console.log(a)
var a = 2
console.log(a)
}
console.log(a)
output()
console.log(a)
7번에 대한 답
첫 번째 출력: 전역 사용var a
두 번째 출력: before 선언을 사용하는 function output()
의 첫 번째 출력은 정의되지 않아야 합니다.
세 번째 출력: 선언 후 출력합니다. 특별한 것은 없습니다.
네 번째 출력: var a
는 function output()
에 의해 변경되지 않았습니다.
// Output
1
undefined
2
1
# 8 -- 우발적인 선언이 있습니다.
function foo() {
let a = b = 0
a++
return a
}
foo()
console.log(typeof a)
console.log(typeof b)
3번에 대한 답변
let a
는 지역 변수입니다. typeof a
가 선언되지 않은 변수를 확인하고 있습니다.
b
는 function foo()
에서 값이 할당되는 전역 변수입니다.
// Output
undefined
number
# 결국
읽어주셔서 정말 감사합니다! 모두 맞췄나요?
Reference
이 문제에 관하여(이 console.log는 무엇을 출력합니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/pitayan/what-do-these-consolelog-print-out-52i5
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
// Output
1
undefined
2
1
function foo() {
let a = b = 0
a++
return a
}
foo()
console.log(typeof a)
console.log(typeof b)
let a
는 지역 변수입니다. typeof a
가 선언되지 않은 변수를 확인하고 있습니다.b
는 function foo()
에서 값이 할당되는 전역 변수입니다.// Output
undefined
number
# 결국
읽어주셔서 정말 감사합니다! 모두 맞췄나요?
Reference
이 문제에 관하여(이 console.log는 무엇을 출력합니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/pitayan/what-do-these-consolelog-print-out-52i5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)