210906

🎊학습한 내용

JavaScript

// 클래스 (생성자 함수)
// 객체지향 프로그래밍 (OOP - Object Oriented Programming)
// 프로토타입
// Person 생성자 함수를 만들 때 Peroson.prototype 객체를 같이 생성한다.

function Person(firstName, lastName) {
	this.firstName = firstName;
	this.lastName = lastName;
}

Person.prototype.fullName = function() {
	console.log(this.firstName + " " + this.lastName);
}

var kim = new Person("Bibi", "Kim");
var park = new Person("Kiki", "Park");

kim.fullName();
park.fullName();

//  __proto__
var person = new Object();

person.name = "Bibi";
person.sayHi = function() {
	console.log("hi");
}

console.log(person);
console.log(person.__proto__ === Object.prototype);


var arr2 = new Array();
console.log(arr2.__proto__ === Array.prototype);
console.log(String.prototype.__proto__ === Object.prototype);

// constructor
/*
var str11 = new String("Nice");
console.dir(str11);
console.dir(str11.constructor);
console.log(str11.constructor === String);
console.log(String.prototype.constructor === String);
*/

var str21 = new String("AAAA");
var arr21 = new Array();

console.log(String.__proto__ === Function.prototype);
console.log(Array.__proto__ === Function.prototype);
console.log(Function.prototype.__proto__ === Object.prototype);


// this
// 일반 함수 this -> window
// 중첩 함수 this -> window
// 이벤트에서 this -> 이벤트 객체
// 메서드에서 this -> 객체
// 메서드 안에 함수가 들어가 있다면 this -> window
// 중첩으로 들어가 있는 함수 안에서의 this 무조건 window
// that
var obj = {
	age: 100,
	sum: function() {
		var that = this;

		
		function a() {
			console.log(that);
		}
		a();
		

	}
}

obj.sum();

// 템플릿 리터럴 (Template Literal)
// `` 백틱
var name = "개발자";
console.log("내 이름은" + " " + name + "입니다.")
console.log(`내 이름은 ${name}입니다.`)


// 나머지를 활용해서 글자가 한글자씩 늘어났다가 줄어들게 만들기
var current = this.wordIndex % this.words.length; // 나머지, wordIndex 계속 상승
var fulltxt = this.words[current]; // current 는 0, 1, 2 반복
// substring 활용해서 효과 주기
this.txt = fulltxt.substring(0, this.txt.length + 1) //늘리기
this.txt = fulltxt.substring(0, this.txt.length - 1) //줄이기

이하 내용은 github 업로드

좋은 웹페이지 즐겨찾기