- банк, банковский счет, клиент, собака, мотоцикл, очередь
Объекты реального мира имеют состояния и поведения
Каким образом программные объекты хранят параметры обьектов физического мира?
тип Object является шаблоном из которого пораждается объект во время выполнения программного кода.
Math
, document
, window
, и др..
оператора) или []
- индекса:let arrStr = arr.join(', '); // свойство массива join
let length = arr.length; // свойство массива length
let words = text.split(' ');
let words = text['split'](' ');
In [ ]:
var maxNumber = 16,
binaryDigits, number, numberInBinary, paddedBinary;
binaryDigits = maxNumber.toString(2).length - 1;
for (number = 0; number < maxNumber; number++) {
numberInBinary = number.toString(2);
paddedBinary = padLeft(numberInBinary, binaryDigits);
console.log('Число ' + number + ' представляется в бинарнов виде как ' + paddedBinary);
}
function padLeft(number, diggits) {
return '00000000000000000000000000000000000000000'
.substr(0, diggits - number.length) + number;
}
Number
, String
, Boolean
, Null
, Undefined
and Object
Object
это только ссылочный типNumber
, String
, Boolean
, Null
, Undefined
являются примитивными типами
Примитивные типы Boolean
, Number
, String
, Undefined
и Null
object
// все это вернет true
console.log(typeof new Object() === typeof new Array());
console.log(typeof new Object() === typeof new Date());
console.log(typeof new Array() === typeof new Date());
Object
object
let number = 5, // Содержит примитивное значение 5
text = 'Hello there!', // Содержит примитивное значение
numberObj = new Number(5); // Содержит объект со зачением 5
let fname = 'Вася',
lname = 'Пупкин',
person = { firstName: fname, lastName: lname };
lname = 'Петров';
console.log(person.lastName) // logged 'Пупкин'
In [ ]:
var num = 5,
numObj = new Number(5);
console.log('(number == numberObj) = ' + (num == numObj));
console.log('(number === numberObj) = ' + (num === numObj));
console.log('typeof num = ' + typeof num);
console.log('typeof numObj = ' + typeof numObj);
console.log('(typeof num === typeof numObj) = ' + (typeof num === typeof numObj));
//Primitive types are passed by value
console.log("-------------------");
var fname = 'Вася',
lname = 'Пупкин',
person = {
firstName: fname,
lastName: lname,
toString: function personToString() {
return this.firstName + " " + this.lastName
}
};
console.log(person.toString());
console.log('Изменить фамилию на Петров');
lname = 'Petrov';
console.log(person.toString()) // still "Пупкин"
In [ ]:
var marks = [
{ subject : 'JavaScript', score : 4.50 },
{ subject : 'OOP', score : 5.00 },
{ subject : 'HTML5', score : 6.00 },
{ subject : 'Photoshop', score : 4.00 }];
var student = { name: 'Вася Пупкин', marks: marks };
marks[2].score = 5.50;
console.log(student.marks);
// logs 5.50 for HTML5 score
In [ ]:
var person = {
firstName: 'Вася',
lastName: 'Пупкин',
toString: function () {
return this.firstName + ' ' + this.lastName;
}
};
console.log(person.toString());
let Pupkin, Petrov;
pupkin = {
fname: 'Вася',
lname: 'Пупкин',
toString: function() {
return this.fname + ' ' + this.lname;
}
};
petrov = {
fname: 'Петя',
lname: 'Петров',
toString: function() {
return this.fname + ' ' + this.lname;
}
};
In [ ]:
var pupkin, petrov;
function makePerson(fname, lname) {
return {
fname: fname,
lname: lname,
toString: function () {
return this.fname + ' ' + this.lname;
}
}
}
pupkin = makePerson('Вася', 'Пупкин');
petrov = makePerson('Петя', 'Петров');
console.log(pupkin.toString())
console.log(petrov.toString())
In [ ]:
console.log('Используем доступ по точке');
console['log']('Ипользуем кавычки');
In [ ]:
function countWords(words) {
let word,
wordsCount = {};
for (let i in words) {
word = words[i].toLowerCase();
if (!wordsCount[word]) { wordsCount[word] = 0; }
wordsCount[word] += 1;
}
return wordsCount
}
countWords("Привет когда собираешься переезжать?")
In [ ]: