ECMAScript(ES): 자바스크립트를 표준화하기 위해 만들어진, ECMA-262 기술 규격에 따라 정의하고 있는 표준화된 스크립트 프로그래밍 언어
객체와 함께 사용할 때를 제외하고는 변경 불가능한 변수. 특정 이벤트를 실행하는 버튼이나 특정 요소를 정의할 때 사용
// ES5
var a = "Hello";
const b = "World"
여기서 변수 a는 재할당이 가능하지만, b는 변경되지 않으며, 새로운 값을 제공하려고 하면 오류가 반환됨.
변경 가능한 변수. 새로운 값을 가질수도 있고 재할당도 가능
let name = "hellow"
name = "world"
console.log(name) // world
var변수는 호이스팅 되는 현상 발생. 이를 방지하기 위해 변경 가능한 변수에 대해서는 let으로 정의해야함
문자열을 연결하기 위해 더하기 연산자를 사용할 필요없이 백틱을 사용하여 문자열 내에서 변수 사용 가능
// ES5
var a = "hello"
console.log(a + "world")
// ES6
const a = "Nice"
console.log(`${a} world`) // Nice world
js에서 함수를 정의하는 function 없이 함수를 만들 수 있고, return 키워드 없이 식을 계산한 값이 자동으로 반환됨.
// ES5
funtion foo (name) {
reutnr name + "는 유치원생이다"
}
console.log(foo("짱구")) // 짱구는 유치원생이다.
// ES6
const foo = (name) => {
return `${name}는 유치원생이다.`
}
console.log(foo("짱구"))
// ES5
function foo (a, b, c) {
console.log(a, b, c)
}
foo("a") // a undefined undefined
// ES6
const foo = (a, b = "b" , c = "c") => {
console.log(a, b, c)
}
foo("a") // a, b, c
객체의 속성 또는 배열의 요소에 대해 반복하는 기능 수행. 즉, 객체의 속성들을 순화히가 위한 구문
-> index에 할당되는 값이 string이다.
배열 요소만 순회하는 것이 아니라, prototype으로 상위에 추가된 객체들까지도 순회함
반복 가능한 객체 (Array, Map, Set 등)를 반복하는 기능 수행.
즉, 객체의 요소들을 순회하기 위한 구문 forEach()문과 달리 break, continue, return 구문 모두 사용가능
-> 배열의 각 값을 하나로 보고 출력.
const list = [4, 5, 6]
for (let i in list) {
console.log(i) // "0", "1", "2"
}
for (let j of list) {
console.log(j) // "4", "5", "6"
}
String 메서드.
startsWith 메서드는 대상 문자열이 인자로 받은 문자로 시작하는지를 확인해주는 메서드. true, false 반환
endsWith메서드는 대상 문자열이 인자로 받은 문자로 끝나는지를 확인해주는 메서드. true, flase 반환
ECMAScript(ES): 자바스크립트를 표준화하기 위해 만들어진, ECMA-262 기술 규격에 따라 정의하고 있는 표준화된 스크립트 프로그래밍 언어
객체와 함께 사용할 때를 제외하고는 변경 불가능한 변수. 특정 이벤트를 실행하는 버튼이나 특정 요소를 정의할 때 사용
// ES5
var a = "Hello";
const b = "World"
여기서 변수 a는 재할당이 가능하지만, b는 변경되지 않으며, 새로운 값을 제공하려고 하면 오류가 반환됨.
변경 가능한 변수. 새로운 값을 가질수도 있고 재할당도 가능
let name = "hellow"
name = "world"
console.log(name) // world
var변수는 호이스팅 되는 현상 발생. 이를 방지하기 위해 변경 가능한 변수에 대해서는 let으로 정의해야함
문자열을 연결하기 위해 더하기 연산자를 사용할 필요없이 백틱을 사용하여 문자열 내에서 변수 사용 가능
// ES5
var a = "hello"
console.log(a + "world")
// ES6
const a = "Nice"
console.log(`${a} world`) // Nice world
js에서 함수를 정의하는 function 없이 함수를 만들 수 있고, return 키워드 없이 식을 계산한 값이 자동으로 반환됨.
// ES5
funtion foo (name) {
reutnr name + "는 유치원생이다"
}
console.log(foo("짱구")) // 짱구는 유치원생이다.
// ES6
const foo = (name) => {
return `${name}는 유치원생이다.`
}
console.log(foo("짱구"))
// ES5
function foo (a, b, c) {
console.log(a, b, c)
}
foo("a") // a undefined undefined
// ES6
const foo = (a, b = "b" , c = "c") => {
console.log(a, b, c)
}
foo("a") // a, b, c
객체의 속성 또는 배열의 요소에 대해 반복하는 기능 수행. 즉, 객체의 속성들을 순화히가 위한 구문
-> index에 할당되는 값이 string이다.
배열 요소만 순회하는 것이 아니라, prototype으로 상위에 추가된 객체들까지도 순회함
반복 가능한 객체 (Array, Map, Set 등)를 반복하는 기능 수행.
즉, 객체의 요소들을 순회하기 위한 구문 forEach()문과 달리 break, continue, return 구문 모두 사용가능
-> 배열의 각 값을 하나로 보고 출력.
const list = [4, 5, 6]
for (let i in list) {
console.log(i) // "0", "1", "2"
}
for (let j of list) {
console.log(j) // "4", "5", "6"
}
String 메서드.
startsWith 메서드는 대상 문자열이 인자로 받은 문자로 시작하는지를 확인해주는 메서드. true, false 반환
endsWith메서드는 대상 문자열이 인자로 받은 문자로 끝나는지를 확인해주는 메서드. true, flase 반환