Varyen
так суй ему с транспайлингом тоже :)
Varyen
по статистике то я так понимаю у тебя в основном хром и подобное
Nikita
фичи же постепенно вводятся, вот хотелось бы чтобы браузер только непонятные ему фичи транспалил, а остальное нативно
Stepan
Varyen
вообще, если мы сейчас говорим не о поддержке нового синтаксиса, то все так и работает
Nikita
также хочу и с css
Varyen
да и это имхо экономия на спичках
Nikita
нужно стремиться к совершенству
Nikita
допустим на мобилках транспайлить код не вариант, там тупо выдаем уже готовый ssr js
Александр
Александр
Подскажите почему в данном коде, когда мы описываем obg.move нас надо писать this.name, а не просто name, ведь и без this всё работает? Про конструкторы не пишите, я знаю что этот кол модно оптимизировать, интересен данный момент.
Denis
Довольно интересная манера - спустя 3 минуты после того, как ты задал вопрос в новичковом чате, копировать его в "большой" чат
Александр
Каждому параметру name, color, speed надо дописывать this, и без этого работает ведь в чем подвох
Neyron
Ключевое слово this получает ссылку на этот объект.
Александр
Обычная манера
Александр
Там спросил
Александр
Тут спросил
Александр
То есть если будет другой объект будет путаница
Neyron
Александр
Но мы же в параметрах пишем значения этих свойств
Nikita
измени цвет у машины
Nikita
потом сделай audi.move
Aleksey
Bohdan
ну да, можно было на сдн ссылку вставить
Anonymous
Aleksey
тут нет класса
имитация есть. и область видимости есть. name принад куче, которая создается вызовом Car() и виден только коду, который объявлен в той куче.
Stepan
Anonymous
Stepan
Александр
Сейчас
Александр
var Car = function(name, color, speed) {
var obj = {
name: name,
color: color,
speed: speed
};
obj.move = function() {
console.log(this.name + " " + this.color + " " + "is move " + this.speed);
};
return obj;
};
var audi = Car("s", "red", 200);
console.log(audi.color);
Александр
да я в курсе типо конструктор но мне было интересно зачем писать вот так console.log(this.name + " " + this.color + " " + "is move " + this.speed);
};
Александр
если можно вот так
Stepan
var Car = function(name, color, speed) {
var obj = {
name: name,
color: color,
speed: speed
};
obj.move = function() {
console.log(name + " " + color + " " + "is move " + speed);
};
return obj;
};
var audi = Car("s", "red", 200);
audi.move();
audi.color = 'blue';
audi.move();
Александр
console.log(name + " " + color + " " + "is move " + speed);
};
Stepan
понимаешь мысль?
Aleksey
Anonymous
Anonymous
ну сделай в move и будет obj.name
Anonymous
и будет менятся
Александр
ну что this что без this меняется значения
Александр
audi.name = 'Audi 2';
audi.move();
Александр
почему сейчас вызываю консоль и да меняется
Anonymous
код прямо из скриншота?
Anonymous
если да то не меняется
Anonymous
чтобы менялось надо в move поменять name на obj.name
Александр
var Car = function(name, color, speed) {
var obj = {
name: name,
color: color,
speed: speed
};
obj.move = function() {
console.log(name + " " + color + " " + "is move " + speed);
};
return obj;
};
var audi = Car("s", "red", 200);
console.log(audi.color);
audi.color = "blue";
console.log(audi.color);
console.log(audi);
Александр
сначала консоль показывает red
Александр
потом blue
Stepan
Александр
а потом обьект с последдним цветом
Anonymous
Александр
потом до писал this все с работало
Anonymous
Александр
obj.move = function() {
console.log(name + " " + color + " " + "is move " + speed);
};
Александр
this.name
Александр
this.color
Stepan
Александр
зачем если и без этого меняются значение
Александр
obj.move = function() {
console.log(this.name + " " + this.color + " " + "is move " + this.speed);
};
Stepan
Александр
бинго
Александр
я только учусь простите меня ребятки
Александр
за тупняк
Александр
теперь понял
Александр
move  не сработает на изменения без this
Nikita
вот вот я про это и писал
Александр
спасибо
Nikita
audi.move надо сделать
Stepan
var Car = function(name, color, speed) {
var obj = {
name: name,
color: color,
speed: speed
};
obj.move = function() {
console.log(this.name + " " + this.color + " " + "is move " + this.speed);
};
return obj;
};
var audi = Car("s", "red", 200);
(audi.move && audi.move)();
Александр
да теперь пазл собрался но в переди изучение prototype
Александр
только бы не тупить )))))